@textrp/briij-js-sdk 41.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6464 -0
- package/LICENSE +177 -0
- package/README.md +477 -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 +213 -0
- package/lib/@types/auth.d.ts.map +1 -0
- package/lib/@types/auth.js +107 -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 +10 -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 +46 -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 +356 -0
- package/lib/@types/event.d.ts.map +1 -0
- package/lib/@types/event.js +280 -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 +18 -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 +66 -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 +58 -0
- package/lib/@types/membership.js.map +1 -0
- package/lib/@types/partials.d.ts +72 -0
- package/lib/@types/partials.d.ts.map +1 -0
- package/lib/@types/partials.js +71 -0
- package/lib/@types/partials.js.map +1 -0
- package/lib/@types/polls.d.ts +89 -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 +267 -0
- package/lib/@types/requests.d.ts.map +1 -0
- package/lib/@types/requests.js +42 -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 +121 -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 +55 -0
- package/lib/@types/topic.d.ts.map +1 -0
- package/lib/@types/topic.js +62 -0
- package/lib/@types/topic.js.map +1 -0
- package/lib/@types/uia.d.ts +8 -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 +32 -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 +30 -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 +25 -0
- package/lib/base64.d.ts.map +1 -0
- package/lib/base64.js +95 -0
- package/lib/base64.js.map +1 -0
- package/lib/briij.d.ts +116 -0
- package/lib/briij.d.ts.map +1 -0
- package/lib/briij.js +145 -0
- package/lib/briij.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 +3493 -0
- package/lib/client.d.ts.map +1 -0
- package/lib/client.js +7482 -0
- package/lib/client.js.map +1 -0
- package/lib/common-crypto/CryptoBackend.d.ts +234 -0
- package/lib/common-crypto/CryptoBackend.d.ts.map +1 -0
- package/lib/common-crypto/CryptoBackend.js +69 -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 +262 -0
- package/lib/content-helpers.js.map +1 -0
- package/lib/content-repo.d.ts +25 -0
- package/lib/content-repo.d.ts.map +1 -0
- package/lib/content-repo.js +109 -0
- package/lib/content-repo.js.map +1 -0
- package/lib/crypto/store/base.d.ts +301 -0
- package/lib/crypto/store/base.d.ts.map +1 -0
- package/lib/crypto/store/base.js +145 -0
- package/lib/crypto/store/base.js.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +94 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.js +604 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store.d.ts +251 -0
- package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store.js +477 -0
- package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -0
- package/lib/crypto/store/localStorage-crypto-store.d.ts +102 -0
- package/lib/crypto/store/localStorage-crypto-store.d.ts.map +1 -0
- package/lib/crypto/store/localStorage-crypto-store.js +374 -0
- package/lib/crypto/store/localStorage-crypto-store.js.map +1 -0
- package/lib/crypto/store/memory-crypto-store.d.ts +117 -0
- package/lib/crypto/store/memory-crypto-store.d.ts.map +1 -0
- package/lib/crypto/store/memory-crypto-store.js +311 -0
- package/lib/crypto/store/memory-crypto-store.js.map +1 -0
- package/lib/crypto-api/CryptoEvent.d.ts +120 -0
- package/lib/crypto-api/CryptoEvent.d.ts.map +1 -0
- package/lib/crypto-api/CryptoEvent.js +137 -0
- package/lib/crypto-api/CryptoEvent.js.map +1 -0
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts +26 -0
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +1 -0
- package/lib/crypto-api/CryptoEventHandlerMap.js +1 -0
- package/lib/crypto-api/CryptoEventHandlerMap.js.map +1 -0
- package/lib/crypto-api/index.d.ts +1160 -0
- package/lib/crypto-api/index.d.ts.map +1 -0
- package/lib/crypto-api/index.js +410 -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 +87 -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 +315 -0
- package/lib/crypto-api/verification.d.ts.map +1 -0
- package/lib/crypto-api/verification.js +130 -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 +182 -0
- package/lib/embedded.d.ts.map +1 -0
- package/lib/embedded.js +746 -0
- package/lib/embedded.js.map +1 -0
- package/lib/errors.d.ts +38 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +73 -0
- package/lib/errors.js.map +1 -0
- package/lib/event-mapper.d.ts +9 -0
- package/lib/event-mapper.d.ts.map +1 -0
- package/lib/event-mapper.js +74 -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 +44 -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 +89 -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 +170 -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 +117 -0
- package/lib/http-api/errors.d.ts.map +1 -0
- package/lib/http-api/errors.js +245 -0
- package/lib/http-api/errors.js.map +1 -0
- package/lib/http-api/fetch.d.ts +80 -0
- package/lib/http-api/fetch.d.ts.map +1 -0
- package/lib/http-api/fetch.js +332 -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 +178 -0
- package/lib/http-api/index.js.map +1 -0
- package/lib/http-api/interface.d.ts +186 -0
- package/lib/http-api/interface.d.ts.map +1 -0
- package/lib/http-api/interface.js +39 -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 +50 -0
- package/lib/http-api/prefix.js.map +1 -0
- package/lib/http-api/refresh.d.ts +53 -0
- package/lib/http-api/refresh.d.ts.map +1 -0
- package/lib/http-api/refresh.js +174 -0
- package/lib/http-api/refresh.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 +182 -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 +341 -0
- package/lib/interactive-auth.d.ts.map +1 -0
- package/lib/interactive-auth.js +563 -0
- package/lib/interactive-auth.js.map +1 -0
- package/lib/logger.d.ts +124 -0
- package/lib/logger.d.ts.map +1 -0
- package/lib/logger.js +230 -0
- package/lib/logger.js.map +1 -0
- package/lib/matrixrtc/CallMembership.d.ts +154 -0
- package/lib/matrixrtc/CallMembership.d.ts.map +1 -0
- package/lib/matrixrtc/CallMembership.js +469 -0
- package/lib/matrixrtc/CallMembership.js.map +1 -0
- package/lib/matrixrtc/EncryptionManager.d.ts +44 -0
- package/lib/matrixrtc/EncryptionManager.d.ts.map +1 -0
- package/lib/matrixrtc/EncryptionManager.js +13 -0
- package/lib/matrixrtc/EncryptionManager.js.map +1 -0
- package/lib/matrixrtc/IKeyTransport.d.ts +37 -0
- package/lib/matrixrtc/IKeyTransport.d.ts.map +1 -0
- package/lib/matrixrtc/IKeyTransport.js +27 -0
- package/lib/matrixrtc/IKeyTransport.js.map +1 -0
- package/lib/matrixrtc/IMembershipManager.d.ts +94 -0
- package/lib/matrixrtc/IMembershipManager.d.ts.map +1 -0
- package/lib/matrixrtc/IMembershipManager.js +40 -0
- package/lib/matrixrtc/IMembershipManager.js.map +1 -0
- package/lib/matrixrtc/LivekitTransport.d.ts +23 -0
- package/lib/matrixrtc/LivekitTransport.d.ts.map +1 -0
- package/lib/matrixrtc/LivekitTransport.js +29 -0
- package/lib/matrixrtc/LivekitTransport.js.map +1 -0
- package/lib/matrixrtc/MatrixRTCSession.d.ts +343 -0
- package/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -0
- package/lib/matrixrtc/MatrixRTCSession.js +623 -0
- package/lib/matrixrtc/MatrixRTCSession.js.map +1 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +46 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +1 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.js +149 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -0
- package/lib/matrixrtc/MembershipManager.d.ts +210 -0
- package/lib/matrixrtc/MembershipManager.d.ts.map +1 -0
- package/lib/matrixrtc/MembershipManager.js +977 -0
- package/lib/matrixrtc/MembershipManager.js.map +1 -0
- package/lib/matrixrtc/MembershipManagerActionScheduler.d.ts +59 -0
- package/lib/matrixrtc/MembershipManagerActionScheduler.d.ts.map +1 -0
- package/lib/matrixrtc/MembershipManagerActionScheduler.js +125 -0
- package/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -0
- package/lib/matrixrtc/RTCEncryptionManager.d.ts +110 -0
- package/lib/matrixrtc/RTCEncryptionManager.d.ts.map +1 -0
- package/lib/matrixrtc/RTCEncryptionManager.js +376 -0
- package/lib/matrixrtc/RTCEncryptionManager.js.map +1 -0
- package/lib/matrixrtc/ToDeviceKeyTransport.d.ts +30 -0
- package/lib/matrixrtc/ToDeviceKeyTransport.d.ts.map +1 -0
- package/lib/matrixrtc/ToDeviceKeyTransport.js +164 -0
- package/lib/matrixrtc/ToDeviceKeyTransport.js.map +1 -0
- package/lib/matrixrtc/index.d.ts +9 -0
- package/lib/matrixrtc/index.d.ts.map +1 -0
- package/lib/matrixrtc/index.js +23 -0
- package/lib/matrixrtc/index.js.map +1 -0
- package/lib/matrixrtc/membershipData/common.d.ts +8 -0
- package/lib/matrixrtc/membershipData/common.d.ts.map +1 -0
- package/lib/matrixrtc/membershipData/common.js +26 -0
- package/lib/matrixrtc/membershipData/common.js.map +1 -0
- package/lib/matrixrtc/membershipData/index.d.ts +4 -0
- package/lib/matrixrtc/membershipData/index.d.ts.map +1 -0
- package/lib/matrixrtc/membershipData/index.js +20 -0
- package/lib/matrixrtc/membershipData/index.js.map +1 -0
- package/lib/matrixrtc/membershipData/rtc.d.ts +33 -0
- package/lib/matrixrtc/membershipData/rtc.d.ts.map +1 -0
- package/lib/matrixrtc/membershipData/rtc.js +137 -0
- package/lib/matrixrtc/membershipData/rtc.js.map +1 -0
- package/lib/matrixrtc/membershipData/session.d.ts +77 -0
- package/lib/matrixrtc/membershipData/session.d.ts.map +1 -0
- package/lib/matrixrtc/membershipData/session.js +62 -0
- package/lib/matrixrtc/membershipData/session.js.map +1 -0
- package/lib/matrixrtc/types.d.ts +169 -0
- package/lib/matrixrtc/types.d.ts.map +1 -0
- package/lib/matrixrtc/types.js +117 -0
- package/lib/matrixrtc/types.js.map +1 -0
- package/lib/matrixrtc/utils.d.ts +27 -0
- package/lib/matrixrtc/utils.d.ts.map +1 -0
- package/lib/matrixrtc/utils.js +72 -0
- package/lib/matrixrtc/utils.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 +166 -0
- package/lib/models/MSC3089TreeSpace.d.ts.map +1 -0
- package/lib/models/MSC3089TreeSpace.js +521 -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 +52 -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 +36 -0
- package/lib/models/event-status.js.map +1 -0
- package/lib/models/event-timeline-set.d.ts +308 -0
- package/lib/models/event-timeline-set.d.ts.map +1 -0
- package/lib/models/event-timeline-set.js +805 -0
- package/lib/models/event-timeline-set.js.map +1 -0
- package/lib/models/event-timeline.d.ts +224 -0
- package/lib/models/event-timeline.d.ts.map +1 -0
- package/lib/models/event-timeline.js +434 -0
- package/lib/models/event-timeline.js.map +1 -0
- package/lib/models/event.d.ts +844 -0
- package/lib/models/event.d.ts.map +1 -0
- package/lib/models/event.js +1600 -0
- package/lib/models/event.js.map +1 -0
- package/lib/models/invites-ignorer-types.d.ts +27 -0
- package/lib/models/invites-ignorer-types.d.ts.map +1 -0
- package/lib/models/invites-ignorer-types.js +56 -0
- package/lib/models/invites-ignorer-types.js.map +1 -0
- package/lib/models/invites-ignorer.d.ts +112 -0
- package/lib/models/invites-ignorer.d.ts.map +1 -0
- package/lib/models/invites-ignorer.js +357 -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 +17 -0
- package/lib/models/profile-keys.d.ts.map +1 -0
- package/lib/models/profile-keys.js +34 -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 +123 -0
- package/lib/models/relations.d.ts.map +1 -0
- package/lib/models/relations.js +378 -0
- package/lib/models/relations.js.map +1 -0
- package/lib/models/room-member.d.ts +221 -0
- package/lib/models/room-member.d.ts.map +1 -0
- package/lib/models/room-member.js +376 -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 +463 -0
- package/lib/models/room-state.d.ts.map +1 -0
- package/lib/models/room-state.js +1066 -0
- package/lib/models/room-state.js.map +1 -0
- package/lib/models/room-sticky-events.d.ts +110 -0
- package/lib/models/room-sticky-events.d.ts.map +1 -0
- package/lib/models/room-sticky-events.js +353 -0
- package/lib/models/room-sticky-events.js.map +1 -0
- package/lib/models/room-summary.d.ts +59 -0
- package/lib/models/room-summary.d.ts.map +1 -0
- package/lib/models/room-summary.js +39 -0
- package/lib/models/room-summary.js.map +1 -0
- package/lib/models/room.d.ts +1285 -0
- package/lib/models/room.d.ts.map +1 -0
- package/lib/models/room.js +3548 -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 +245 -0
- package/lib/models/thread.d.ts.map +1 -0
- package/lib/models/thread.js +866 -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 +93 -0
- package/lib/oidc/authorize.d.ts.map +1 -0
- package/lib/oidc/authorize.js +282 -0
- package/lib/oidc/authorize.js.map +1 -0
- package/lib/oidc/discovery.d.ts +22 -0
- package/lib/oidc/discovery.d.ts.map +1 -0
- package/lib/oidc/discovery.js +78 -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 +16 -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 +70 -0
- package/lib/oidc/register.d.ts.map +1 -0
- package/lib/oidc/register.js +135 -0
- package/lib/oidc/register.js.map +1 -0
- package/lib/oidc/tokenRefresher.d.ts +91 -0
- package/lib/oidc/tokenRefresher.d.ts.map +1 -0
- package/lib/oidc/tokenRefresher.js +187 -0
- package/lib/oidc/tokenRefresher.js.map +1 -0
- package/lib/oidc/validate.d.ts +78 -0
- package/lib/oidc/validate.d.ts.map +1 -0
- package/lib/oidc/validate.js +181 -0
- package/lib/oidc/validate.js.map +1 -0
- package/lib/pushprocessor.d.ts +140 -0
- package/lib/pushprocessor.d.ts.map +1 -0
- package/lib/pushprocessor.js +702 -0
- package/lib/pushprocessor.js.map +1 -0
- package/lib/randomstring.d.ts +32 -0
- package/lib/randomstring.d.ts.map +1 -0
- package/lib/randomstring.js +97 -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 +389 -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 +47 -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 +254 -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 +35 -0
- package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +1 -0
- package/lib/rust-crypto/CrossSigningIdentity.js +163 -0
- package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -0
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts +118 -0
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +1 -0
- package/lib/rust-crypto/DehydratedDeviceManager.js +361 -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 +36 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +1 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.js +194 -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 +175 -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 +469 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -0
- package/lib/rust-crypto/RoomEncryptor.d.ts +100 -0
- package/lib/rust-crypto/RoomEncryptor.d.ts.map +1 -0
- package/lib/rust-crypto/RoomEncryptor.js +308 -0
- package/lib/rust-crypto/RoomEncryptor.js.map +1 -0
- package/lib/rust-crypto/backup.d.ts +278 -0
- package/lib/rust-crypto/backup.d.ts.map +1 -0
- package/lib/rust-crypto/backup.js +898 -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 +65 -0
- package/lib/rust-crypto/index.d.ts.map +1 -0
- package/lib/rust-crypto/index.js +149 -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 +456 -0
- package/lib/rust-crypto/libolm_migration.js.map +1 -0
- package/lib/rust-crypto/rust-crypto.d.ts +576 -0
- package/lib/rust-crypto/rust-crypto.d.ts.map +1 -0
- package/lib/rust-crypto/rust-crypto.js +2324 -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 +321 -0
- package/lib/rust-crypto/verification.d.ts.map +1 -0
- package/lib/rust-crypto/verification.js +817 -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 +383 -0
- package/lib/secret-storage.d.ts.map +1 -0
- package/lib/secret-storage.js +487 -0
- package/lib/secret-storage.js.map +1 -0
- package/lib/serverCapabilities.d.ts +78 -0
- package/lib/serverCapabilities.d.ts.map +1 -0
- package/lib/serverCapabilities.js +104 -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 +23 -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 +892 -0
- package/lib/sliding-sync-sdk.js.map +1 -0
- package/lib/sliding-sync.d.ts +306 -0
- package/lib/sliding-sync.d.ts.map +1 -0
- package/lib/sliding-sync.js +585 -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 +599 -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 +209 -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 +207 -0
- package/lib/sync-accumulator.d.ts.map +1 -0
- package/lib/sync-accumulator.js +588 -0
- package/lib/sync-accumulator.js.map +1 -0
- package/lib/sync.d.ts +273 -0
- package/lib/sync.d.ts.map +1 -0
- package/lib/sync.js +1764 -0
- package/lib/sync.js.map +1 -0
- package/lib/testing.d.ts +98 -0
- package/lib/testing.d.ts.map +1 -0
- package/lib/testing.js +205 -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 +52 -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/roomVersion.d.ts +13 -0
- package/lib/utils/roomVersion.d.ts.map +1 -0
- package/lib/utils/roomVersion.js +36 -0
- package/lib/utils/roomVersion.js.map +1 -0
- package/lib/utils.d.ts +270 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +764 -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 +2596 -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 +79 -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 +319 -0
- package/lib/webrtc/groupCall.d.ts.map +1 -0
- package/lib/webrtc/groupCall.js +1334 -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 +454 -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 +79 -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 +58 -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 +129 -0
- package/src/@types/AESEncryptedSecretStoragePayload.ts +29 -0
- package/src/@types/IIdentityServerProvider.ts +24 -0
- package/src/@types/PushRules.ts +208 -0
- package/src/@types/another-json.d.ts +19 -0
- package/src/@types/auth.ts +258 -0
- package/src/@types/beacon.ts +140 -0
- package/src/@types/common.ts +24 -0
- package/src/@types/crypto.ts +71 -0
- package/src/@types/event.ts +449 -0
- package/src/@types/events.ts +119 -0
- package/src/@types/extensible_events.ts +147 -0
- package/src/@types/global.d.ts +67 -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 +39 -0
- package/src/@types/media.ts +245 -0
- package/src/@types/membership.ts +57 -0
- package/src/@types/partials.ts +103 -0
- package/src/@types/polls.ts +120 -0
- package/src/@types/read_receipts.ts +61 -0
- package/src/@types/registration.ts +102 -0
- package/src/@types/requests.ts +346 -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 +153 -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 +69 -0
- package/src/@types/uia.ts +24 -0
- package/src/NamespacedValue.ts +121 -0
- package/src/ReEmitter.ts +93 -0
- package/src/ToDeviceMessageQueue.ts +156 -0
- package/src/autodiscovery.ts +505 -0
- package/src/base64.ts +86 -0
- package/src/briij.ts +173 -0
- package/src/browser-index.ts +44 -0
- package/src/client.ts +9031 -0
- package/src/common-crypto/CryptoBackend.ts +295 -0
- package/src/common-crypto/README.md +4 -0
- package/src/common-crypto/key-passphrase.ts +43 -0
- package/src/content-helpers.ts +298 -0
- package/src/content-repo.ts +122 -0
- package/src/crypto/store/base.ts +388 -0
- package/src/crypto/store/indexeddb-crypto-store-backend.ts +655 -0
- package/src/crypto/store/indexeddb-crypto-store.ts +555 -0
- package/src/crypto/store/localStorage-crypto-store.ts +409 -0
- package/src/crypto/store/memory-crypto-store.ts +326 -0
- package/src/crypto-api/CryptoEvent.ts +152 -0
- package/src/crypto-api/CryptoEventHandlerMap.ts +42 -0
- package/src/crypto-api/index.ts +1362 -0
- package/src/crypto-api/key-passphrase.ts +58 -0
- package/src/crypto-api/keybackup.ts +114 -0
- package/src/crypto-api/recovery-key.ts +69 -0
- package/src/crypto-api/verification.ts +382 -0
- package/src/digest.ts +34 -0
- package/src/embedded.ts +865 -0
- package/src/errors.ts +87 -0
- package/src/event-mapper.ts +88 -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 +143 -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 +88 -0
- package/src/filter-component.ts +209 -0
- package/src/filter.ts +245 -0
- package/src/http-api/errors.ts +261 -0
- package/src/http-api/fetch.ts +377 -0
- package/src/http-api/index.ts +194 -0
- package/src/http-api/interface.ts +229 -0
- package/src/http-api/method.ts +25 -0
- package/src/http-api/prefix.ts +48 -0
- package/src/http-api/refresh.ts +167 -0
- package/src/http-api/utils.ts +217 -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 +700 -0
- package/src/logger.ts +279 -0
- package/src/matrixrtc/CallMembership.ts +438 -0
- package/src/matrixrtc/EncryptionManager.ts +54 -0
- package/src/matrixrtc/IKeyTransport.ts +63 -0
- package/src/matrixrtc/IMembershipManager.ts +120 -0
- package/src/matrixrtc/LivekitTransport.ts +46 -0
- package/src/matrixrtc/MatrixRTCSession.ts +934 -0
- package/src/matrixrtc/MatrixRTCSessionManager.ts +170 -0
- package/src/matrixrtc/MembershipManager.ts +1122 -0
- package/src/matrixrtc/MembershipManagerActionScheduler.ts +135 -0
- package/src/matrixrtc/RTCEncryptionManager.ts +459 -0
- package/src/matrixrtc/ToDeviceKeyTransport.ts +197 -0
- package/src/matrixrtc/index.ts +24 -0
- package/src/matrixrtc/membershipData/common.ts +27 -0
- package/src/matrixrtc/membershipData/index.ts +19 -0
- package/src/matrixrtc/membershipData/rtc.ts +156 -0
- package/src/matrixrtc/membershipData/session.ts +146 -0
- package/src/matrixrtc/types.ts +227 -0
- package/src/matrixrtc/utils.ts +71 -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 +213 -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 +962 -0
- package/src/models/event-timeline.ts +461 -0
- package/src/models/event.ts +1819 -0
- package/src/models/invites-ignorer-types.ts +58 -0
- package/src/models/invites-ignorer.ts +341 -0
- package/src/models/poll.ts +285 -0
- package/src/models/profile-keys.ts +33 -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 +392 -0
- package/src/models/room-member.ts +486 -0
- package/src/models/room-receipts.ts +439 -0
- package/src/models/room-state.ts +1230 -0
- package/src/models/room-sticky-events.ts +383 -0
- package/src/models/room-summary.ts +78 -0
- package/src/models/room.ts +4067 -0
- package/src/models/search-result.ts +57 -0
- package/src/models/thread.ts +928 -0
- package/src/models/typed-event-emitter.ts +246 -0
- package/src/models/user.ts +302 -0
- package/src/oidc/authorize.ts +279 -0
- package/src/oidc/discovery.ts +67 -0
- package/src/oidc/error.ts +33 -0
- package/src/oidc/index.ts +33 -0
- package/src/oidc/register.ts +163 -0
- package/src/oidc/tokenRefresher.ts +184 -0
- package/src/oidc/validate.ts +265 -0
- package/src/pushprocessor.ts +856 -0
- package/src/randomstring.ts +103 -0
- package/src/realtime-callbacks.ts +191 -0
- package/src/receipt-accumulator.ts +189 -0
- package/src/rendezvous/MSC4108SignInWithQR.ts +443 -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 +272 -0
- package/src/rendezvous/transports/index.ts +17 -0
- package/src/room-hierarchy.ts +152 -0
- package/src/rust-crypto/CrossSigningIdentity.ts +195 -0
- package/src/rust-crypto/DehydratedDeviceManager.ts +392 -0
- package/src/rust-crypto/KeyClaimManager.ts +86 -0
- package/src/rust-crypto/OutgoingRequestProcessor.ts +233 -0
- package/src/rust-crypto/OutgoingRequestsManager.ts +170 -0
- package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +501 -0
- package/src/rust-crypto/RoomEncryptor.ts +362 -0
- package/src/rust-crypto/backup.ts +942 -0
- package/src/rust-crypto/constants.ts +18 -0
- package/src/rust-crypto/device-converter.ts +128 -0
- package/src/rust-crypto/index.ts +251 -0
- package/src/rust-crypto/libolm_migration.ts +532 -0
- package/src/rust-crypto/rust-crypto.ts +2542 -0
- package/src/rust-crypto/secret-storage.ts +60 -0
- package/src/rust-crypto/verification.ts +833 -0
- package/src/scheduler.ts +309 -0
- package/src/secret-storage.ts +714 -0
- package/src/serverCapabilities.ts +146 -0
- package/src/service-types.ts +20 -0
- package/src/sliding-sync-sdk.ts +1005 -0
- package/src/sliding-sync.ts +674 -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 +212 -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 +779 -0
- package/src/sync.ts +2020 -0
- package/src/testing.ts +231 -0
- package/src/thread-utils.ts +31 -0
- package/src/timeline-window.ts +534 -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/roomVersion.ts +35 -0
- package/src/utils.ts +775 -0
- package/src/version-support.ts +50 -0
- package/src/webrtc/audioContext.ts +44 -0
- package/src/webrtc/call.ts +3061 -0
- package/src/webrtc/callEventHandler.ts +425 -0
- package/src/webrtc/callEventTypes.ts +101 -0
- package/src/webrtc/callFeed.ts +364 -0
- package/src/webrtc/groupCall.ts +1729 -0
- package/src/webrtc/groupCallEventHandler.ts +234 -0
- package/src/webrtc/mediaHandler.ts +501 -0
- package/src/webrtc/stats/callFeedStatsReporter.ts +91 -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 +70 -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,262 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
/*
|
|
5
|
+
Copyright 2018 - 2022 The Matrix.org Foundation C.I.C.
|
|
6
|
+
|
|
7
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
you may not use this file except in compliance with the License.
|
|
9
|
+
You may obtain a copy of the License at
|
|
10
|
+
|
|
11
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
|
|
13
|
+
Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
See the License for the specific language governing permissions and
|
|
17
|
+
limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
import { MsgType } from "./@types/event.js";
|
|
21
|
+
import { M_TEXT, REFERENCE_RELATION } from "./@types/extensible_events.js";
|
|
22
|
+
import { isProvided } from "./extensible_events_v1/utilities.js";
|
|
23
|
+
import { M_ASSET, LocationAssetType, M_LOCATION, M_TIMESTAMP } from "./@types/location.js";
|
|
24
|
+
import { M_TOPIC } from "./@types/topic.js";
|
|
25
|
+
/**
|
|
26
|
+
* Generates the content for a HTML Message event
|
|
27
|
+
* @param body - the plaintext body of the message
|
|
28
|
+
* @param htmlBody - the HTML representation of the message
|
|
29
|
+
* @returns
|
|
30
|
+
*/
|
|
31
|
+
export function makeHtmlMessage(body, htmlBody) {
|
|
32
|
+
return {
|
|
33
|
+
msgtype: MsgType.Text,
|
|
34
|
+
format: "org.matrix.custom.html",
|
|
35
|
+
body: body,
|
|
36
|
+
formatted_body: htmlBody
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Generates the content for a HTML Notice event
|
|
42
|
+
* @param body - the plaintext body of the notice
|
|
43
|
+
* @param htmlBody - the HTML representation of the notice
|
|
44
|
+
* @returns
|
|
45
|
+
*/
|
|
46
|
+
export function makeHtmlNotice(body, htmlBody) {
|
|
47
|
+
return {
|
|
48
|
+
msgtype: MsgType.Notice,
|
|
49
|
+
format: "org.matrix.custom.html",
|
|
50
|
+
body: body,
|
|
51
|
+
formatted_body: htmlBody
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Generates the content for a HTML Emote event
|
|
57
|
+
* @param body - the plaintext body of the emote
|
|
58
|
+
* @param htmlBody - the HTML representation of the emote
|
|
59
|
+
* @returns
|
|
60
|
+
*/
|
|
61
|
+
export function makeHtmlEmote(body, htmlBody) {
|
|
62
|
+
return {
|
|
63
|
+
msgtype: MsgType.Emote,
|
|
64
|
+
format: "org.matrix.custom.html",
|
|
65
|
+
body: body,
|
|
66
|
+
formatted_body: htmlBody
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Generates the content for a Plaintext Message event
|
|
72
|
+
* @param body - the plaintext body of the emote
|
|
73
|
+
* @returns
|
|
74
|
+
*/
|
|
75
|
+
export function makeTextMessage(body) {
|
|
76
|
+
return {
|
|
77
|
+
msgtype: MsgType.Text,
|
|
78
|
+
body: body
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Generates the content for a Plaintext Notice event
|
|
84
|
+
* @param body - the plaintext body of the notice
|
|
85
|
+
* @returns
|
|
86
|
+
*/
|
|
87
|
+
export function makeNotice(body) {
|
|
88
|
+
return {
|
|
89
|
+
msgtype: MsgType.Notice,
|
|
90
|
+
body: body
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Generates the content for a Plaintext Emote event
|
|
96
|
+
* @param body - the plaintext body of the emote
|
|
97
|
+
* @returns
|
|
98
|
+
*/
|
|
99
|
+
export function makeEmoteMessage(body) {
|
|
100
|
+
return {
|
|
101
|
+
msgtype: MsgType.Emote,
|
|
102
|
+
body: body
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/** Location content helpers */
|
|
107
|
+
|
|
108
|
+
export var getTextForLocationEvent = (uri, assetType, timestamp, description) => {
|
|
109
|
+
var date = "at ".concat(new Date(timestamp).toISOString());
|
|
110
|
+
var assetName = assetType === LocationAssetType.Self ? "User" : undefined;
|
|
111
|
+
var quotedDescription = description ? "\"".concat(description, "\"") : undefined;
|
|
112
|
+
return [assetName, "Location", quotedDescription, uri, date].filter(Boolean).join(" ");
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Generates the content for a Location event
|
|
117
|
+
* @param uri - a geo:// uri for the location
|
|
118
|
+
* @param timestamp - the timestamp when the location was correct (milliseconds since the UNIX epoch)
|
|
119
|
+
* @param description - the (optional) label for this location on the map
|
|
120
|
+
* @param assetType - the (optional) asset type of this location e.g. "m.self"
|
|
121
|
+
* @param text - optional. A text for the location
|
|
122
|
+
*/
|
|
123
|
+
export var makeLocationContent = (text, uri, timestamp, description, assetType) => {
|
|
124
|
+
var defaultedText = text !== null && text !== void 0 ? text : getTextForLocationEvent(uri, assetType || LocationAssetType.Self, timestamp, description);
|
|
125
|
+
var timestampEvent = timestamp ? {
|
|
126
|
+
[M_TIMESTAMP.name]: timestamp
|
|
127
|
+
} : {};
|
|
128
|
+
return _objectSpread({
|
|
129
|
+
msgtype: MsgType.Location,
|
|
130
|
+
body: defaultedText,
|
|
131
|
+
geo_uri: uri,
|
|
132
|
+
[M_LOCATION.name]: {
|
|
133
|
+
description,
|
|
134
|
+
uri
|
|
135
|
+
},
|
|
136
|
+
[M_ASSET.name]: {
|
|
137
|
+
type: assetType || LocationAssetType.Self
|
|
138
|
+
},
|
|
139
|
+
[M_TEXT.name]: defaultedText
|
|
140
|
+
}, timestampEvent);
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Parse location event content and transform to
|
|
145
|
+
* a backwards compatible modern m.location event format
|
|
146
|
+
*/
|
|
147
|
+
export var parseLocationEvent = wireEventContent => {
|
|
148
|
+
var _location$uri, _asset$type;
|
|
149
|
+
var location = M_LOCATION.findIn(wireEventContent);
|
|
150
|
+
var asset = M_ASSET.findIn(wireEventContent);
|
|
151
|
+
var timestamp = M_TIMESTAMP.findIn(wireEventContent);
|
|
152
|
+
var text = M_TEXT.findIn(wireEventContent);
|
|
153
|
+
var geoUri = (_location$uri = location === null || location === void 0 ? void 0 : location.uri) !== null && _location$uri !== void 0 ? _location$uri : wireEventContent === null || wireEventContent === void 0 ? void 0 : wireEventContent.geo_uri;
|
|
154
|
+
var description = location === null || location === void 0 ? void 0 : location.description;
|
|
155
|
+
var assetType = (_asset$type = asset === null || asset === void 0 ? void 0 : asset.type) !== null && _asset$type !== void 0 ? _asset$type : LocationAssetType.Self;
|
|
156
|
+
var fallbackText = text !== null && text !== void 0 ? text : wireEventContent.body;
|
|
157
|
+
return makeLocationContent(fallbackText, geoUri, timestamp !== null && timestamp !== void 0 ? timestamp : undefined, description, assetType);
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Topic event helpers
|
|
162
|
+
*/
|
|
163
|
+
|
|
164
|
+
export var makeTopicContent = (topic, htmlTopic) => {
|
|
165
|
+
var renderings = [];
|
|
166
|
+
// Put HTML first because clients will render the first type in
|
|
167
|
+
// the array that they understand
|
|
168
|
+
if (isProvided(htmlTopic)) {
|
|
169
|
+
renderings.push({
|
|
170
|
+
body: htmlTopic,
|
|
171
|
+
mimetype: "text/html"
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
if (isProvided(topic)) {
|
|
175
|
+
renderings.push({
|
|
176
|
+
body: topic,
|
|
177
|
+
mimetype: "text/plain"
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
return {
|
|
181
|
+
topic,
|
|
182
|
+
[M_TOPIC.name]: {
|
|
183
|
+
"m.text": renderings
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
};
|
|
187
|
+
export var parseTopicContent = content => {
|
|
188
|
+
var _ref, _mtopic$find$body, _mtopic$find, _mtopic$find2;
|
|
189
|
+
var mtopicParent = M_TOPIC.findIn(content);
|
|
190
|
+
var mtopic = Array.isArray(mtopicParent) ? mtopicParent : mtopicParent === null || mtopicParent === void 0 ? void 0 : mtopicParent["m.text"];
|
|
191
|
+
// TODO remove support for the old malformed m.topic arrays after a few releases (only allow array in m.text)
|
|
192
|
+
// https://github.com/matrix-org/matrix-js-sdk/pull/4984#pullrequestreview-3174251065
|
|
193
|
+
//const mtopic = M_TOPIC.findIn<MTopicContent>(content)?.["m.text"];
|
|
194
|
+
if (!Array.isArray(mtopic)) {
|
|
195
|
+
var _content$topic;
|
|
196
|
+
return {
|
|
197
|
+
text: (_content$topic = content.topic) !== null && _content$topic !== void 0 ? _content$topic : undefined
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
var text = (_ref = (_mtopic$find$body = mtopic === null || mtopic === void 0 || (_mtopic$find = mtopic.find(r => !isProvided(r.mimetype) || r.mimetype === "text/plain")) === null || _mtopic$find === void 0 ? void 0 : _mtopic$find.body) !== null && _mtopic$find$body !== void 0 ? _mtopic$find$body : content.topic) !== null && _ref !== void 0 ? _ref : undefined;
|
|
201
|
+
var html = mtopic === null || mtopic === void 0 || (_mtopic$find2 = mtopic.find(r => r.mimetype === "text/html")) === null || _mtopic$find2 === void 0 ? void 0 : _mtopic$find2.body;
|
|
202
|
+
return {
|
|
203
|
+
text,
|
|
204
|
+
html
|
|
205
|
+
};
|
|
206
|
+
};
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Beacon event helpers
|
|
210
|
+
*/
|
|
211
|
+
|
|
212
|
+
export var makeBeaconInfoContent = (timeout, isLive, description, assetType, timestamp) => ({
|
|
213
|
+
description,
|
|
214
|
+
timeout,
|
|
215
|
+
live: isLive,
|
|
216
|
+
[M_TIMESTAMP.name]: timestamp || Date.now(),
|
|
217
|
+
[M_ASSET.name]: {
|
|
218
|
+
type: assetType !== null && assetType !== void 0 ? assetType : LocationAssetType.Self
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
/**
|
|
222
|
+
* Flatten beacon info event content
|
|
223
|
+
*/
|
|
224
|
+
export var parseBeaconInfoContent = content => {
|
|
225
|
+
var _M_TIMESTAMP$findIn;
|
|
226
|
+
var {
|
|
227
|
+
description,
|
|
228
|
+
timeout,
|
|
229
|
+
live
|
|
230
|
+
} = content;
|
|
231
|
+
var timestamp = (_M_TIMESTAMP$findIn = M_TIMESTAMP.findIn(content)) !== null && _M_TIMESTAMP$findIn !== void 0 ? _M_TIMESTAMP$findIn : undefined;
|
|
232
|
+
var asset = M_ASSET.findIn(content);
|
|
233
|
+
return {
|
|
234
|
+
description,
|
|
235
|
+
timeout,
|
|
236
|
+
live,
|
|
237
|
+
assetType: asset === null || asset === void 0 ? void 0 : asset.type,
|
|
238
|
+
timestamp
|
|
239
|
+
};
|
|
240
|
+
};
|
|
241
|
+
export var makeBeaconContent = (uri, timestamp, beaconInfoEventId, description) => ({
|
|
242
|
+
[M_LOCATION.name]: {
|
|
243
|
+
description,
|
|
244
|
+
uri
|
|
245
|
+
},
|
|
246
|
+
[M_TIMESTAMP.name]: timestamp,
|
|
247
|
+
"m.relates_to": {
|
|
248
|
+
rel_type: REFERENCE_RELATION.name,
|
|
249
|
+
event_id: beaconInfoEventId
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
export var parseBeaconContent = content => {
|
|
253
|
+
var _M_TIMESTAMP$findIn2;
|
|
254
|
+
var location = M_LOCATION.findIn(content);
|
|
255
|
+
var timestamp = (_M_TIMESTAMP$findIn2 = M_TIMESTAMP.findIn(content)) !== null && _M_TIMESTAMP$findIn2 !== void 0 ? _M_TIMESTAMP$findIn2 : undefined;
|
|
256
|
+
return {
|
|
257
|
+
description: location === null || location === void 0 ? void 0 : location.description,
|
|
258
|
+
uri: location === null || location === void 0 ? void 0 : location.uri,
|
|
259
|
+
timestamp
|
|
260
|
+
};
|
|
261
|
+
};
|
|
262
|
+
//# sourceMappingURL=content-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-helpers.js","names":["MsgType","M_TEXT","REFERENCE_RELATION","isProvided","M_ASSET","LocationAssetType","M_LOCATION","M_TIMESTAMP","M_TOPIC","makeHtmlMessage","body","htmlBody","msgtype","Text","format","formatted_body","makeHtmlNotice","Notice","makeHtmlEmote","Emote","makeTextMessage","makeNotice","makeEmoteMessage","getTextForLocationEvent","uri","assetType","timestamp","description","date","concat","Date","toISOString","assetName","Self","undefined","quotedDescription","filter","Boolean","join","makeLocationContent","text","defaultedText","timestampEvent","name","_objectSpread","Location","geo_uri","type","parseLocationEvent","wireEventContent","_location$uri","_asset$type","location","findIn","asset","geoUri","fallbackText","makeTopicContent","topic","htmlTopic","renderings","push","mimetype","parseTopicContent","content","_ref","_mtopic$find$body","_mtopic$find","_mtopic$find2","mtopicParent","mtopic","Array","isArray","_content$topic","find","r","html","makeBeaconInfoContent","timeout","isLive","live","now","parseBeaconInfoContent","_M_TIMESTAMP$findIn","makeBeaconContent","beaconInfoEventId","rel_type","event_id","parseBeaconContent","_M_TIMESTAMP$findIn2"],"sources":["../src/content-helpers.ts"],"sourcesContent":["/*\r\nCopyright 2018 - 2022 The Matrix.org Foundation C.I.C.\r\n\r\nLicensed under the Apache License, Version 2.0 (the \"License\");\r\nyou may not use this file except in compliance with the License.\r\nYou may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nUnless required by applicable law or agreed to in writing, software\r\ndistributed under the License is distributed on an \"AS IS\" BASIS,\r\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\nSee the License for the specific language governing permissions and\r\nlimitations under the License.\r\n*/\r\n\r\nimport { type MBeaconEventContent, type MBeaconInfoContent, type MBeaconInfoEventContent } from \"./@types/beacon.ts\";\r\nimport { MsgType } from \"./@types/event.ts\";\r\nimport { type IMessageRendering, M_TEXT, REFERENCE_RELATION } from \"./@types/extensible_events.ts\";\r\nimport { isProvided } from \"./extensible_events_v1/utilities.ts\";\r\nimport {\r\n M_ASSET,\r\n LocationAssetType,\r\n M_LOCATION,\r\n M_TIMESTAMP,\r\n type LocationEventWireContent,\r\n type MLocationEventContent,\r\n type MLocationContent,\r\n type MAssetContent,\r\n type LegacyLocationEventContent,\r\n} from \"./@types/location.ts\";\r\nimport { type MRoomTopicEventContent, type MTopicContent, M_TOPIC, type MTopicEvent } from \"./@types/topic.ts\";\r\nimport { type RoomMessageEventContent } from \"./@types/events.ts\";\r\n\r\n/**\r\n * Generates the content for a HTML Message event\r\n * @param body - the plaintext body of the message\r\n * @param htmlBody - the HTML representation of the message\r\n * @returns\r\n */\r\nexport function makeHtmlMessage(body: string, htmlBody: string): RoomMessageEventContent {\r\n return {\r\n msgtype: MsgType.Text,\r\n format: \"org.matrix.custom.html\",\r\n body: body,\r\n formatted_body: htmlBody,\r\n };\r\n}\r\n\r\n/**\r\n * Generates the content for a HTML Notice event\r\n * @param body - the plaintext body of the notice\r\n * @param htmlBody - the HTML representation of the notice\r\n * @returns\r\n */\r\nexport function makeHtmlNotice(body: string, htmlBody: string): RoomMessageEventContent {\r\n return {\r\n msgtype: MsgType.Notice,\r\n format: \"org.matrix.custom.html\",\r\n body: body,\r\n formatted_body: htmlBody,\r\n };\r\n}\r\n\r\n/**\r\n * Generates the content for a HTML Emote event\r\n * @param body - the plaintext body of the emote\r\n * @param htmlBody - the HTML representation of the emote\r\n * @returns\r\n */\r\nexport function makeHtmlEmote(body: string, htmlBody: string): RoomMessageEventContent {\r\n return {\r\n msgtype: MsgType.Emote,\r\n format: \"org.matrix.custom.html\",\r\n body: body,\r\n formatted_body: htmlBody,\r\n };\r\n}\r\n\r\n/**\r\n * Generates the content for a Plaintext Message event\r\n * @param body - the plaintext body of the emote\r\n * @returns\r\n */\r\nexport function makeTextMessage(body: string): RoomMessageEventContent {\r\n return {\r\n msgtype: MsgType.Text,\r\n body: body,\r\n };\r\n}\r\n\r\n/**\r\n * Generates the content for a Plaintext Notice event\r\n * @param body - the plaintext body of the notice\r\n * @returns\r\n */\r\nexport function makeNotice(body: string): RoomMessageEventContent {\r\n return {\r\n msgtype: MsgType.Notice,\r\n body: body,\r\n };\r\n}\r\n\r\n/**\r\n * Generates the content for a Plaintext Emote event\r\n * @param body - the plaintext body of the emote\r\n * @returns\r\n */\r\nexport function makeEmoteMessage(body: string): RoomMessageEventContent {\r\n return {\r\n msgtype: MsgType.Emote,\r\n body: body,\r\n };\r\n}\r\n\r\n/** Location content helpers */\r\n\r\nexport const getTextForLocationEvent = (\r\n uri: string | undefined,\r\n assetType: LocationAssetType,\r\n timestamp?: number,\r\n description?: string | null,\r\n): string => {\r\n const date = `at ${new Date(timestamp!).toISOString()}`;\r\n const assetName = assetType === LocationAssetType.Self ? \"User\" : undefined;\r\n const quotedDescription = description ? `\"${description}\"` : undefined;\r\n\r\n return [assetName, \"Location\", quotedDescription, uri, date].filter(Boolean).join(\" \");\r\n};\r\n\r\n/**\r\n * Generates the content for a Location event\r\n * @param uri - a geo:// uri for the location\r\n * @param timestamp - the timestamp when the location was correct (milliseconds since the UNIX epoch)\r\n * @param description - the (optional) label for this location on the map\r\n * @param assetType - the (optional) asset type of this location e.g. \"m.self\"\r\n * @param text - optional. A text for the location\r\n */\r\nexport const makeLocationContent = (\r\n // this is first but optional\r\n // to avoid a breaking change\r\n text?: string,\r\n uri?: string,\r\n timestamp?: number,\r\n description?: string | null,\r\n assetType?: LocationAssetType,\r\n): LegacyLocationEventContent & MLocationEventContent => {\r\n const defaultedText =\r\n text ?? getTextForLocationEvent(uri, assetType || LocationAssetType.Self, timestamp, description);\r\n const timestampEvent = timestamp ? { [M_TIMESTAMP.name]: timestamp } : {};\r\n return {\r\n msgtype: MsgType.Location,\r\n body: defaultedText,\r\n geo_uri: uri,\r\n [M_LOCATION.name]: {\r\n description,\r\n uri,\r\n },\r\n [M_ASSET.name]: {\r\n type: assetType || LocationAssetType.Self,\r\n },\r\n [M_TEXT.name]: defaultedText,\r\n ...timestampEvent,\r\n } as LegacyLocationEventContent & MLocationEventContent;\r\n};\r\n\r\n/**\r\n * Parse location event content and transform to\r\n * a backwards compatible modern m.location event format\r\n */\r\nexport const parseLocationEvent = (wireEventContent: LocationEventWireContent): MLocationEventContent => {\r\n const location = M_LOCATION.findIn<MLocationContent>(wireEventContent);\r\n const asset = M_ASSET.findIn<MAssetContent>(wireEventContent);\r\n const timestamp = M_TIMESTAMP.findIn<number>(wireEventContent);\r\n const text = M_TEXT.findIn<string>(wireEventContent);\r\n\r\n const geoUri = location?.uri ?? wireEventContent?.geo_uri;\r\n const description = location?.description;\r\n const assetType = asset?.type ?? LocationAssetType.Self;\r\n const fallbackText = text ?? wireEventContent.body;\r\n\r\n return makeLocationContent(fallbackText, geoUri, timestamp ?? undefined, description, assetType);\r\n};\r\n\r\n/**\r\n * Topic event helpers\r\n */\r\nexport type MakeTopicContent = (topic: string | null | undefined, htmlTopic?: string) => MRoomTopicEventContent;\r\n\r\nexport const makeTopicContent: MakeTopicContent = (topic, htmlTopic) => {\r\n const renderings = [];\r\n // Put HTML first because clients will render the first type in\r\n // the array that they understand\r\n if (isProvided(htmlTopic)) {\r\n renderings.push({ body: htmlTopic, mimetype: \"text/html\" });\r\n }\r\n if (isProvided(topic)) {\r\n renderings.push({ body: topic, mimetype: \"text/plain\" });\r\n }\r\n return { topic, [M_TOPIC.name]: { \"m.text\": renderings } };\r\n};\r\n\r\nexport type TopicState = {\r\n text?: string;\r\n html?: string;\r\n};\r\n\r\nexport const parseTopicContent = (content: MRoomTopicEventContent): TopicState => {\r\n const mtopicParent = M_TOPIC.findIn<MTopicContent | IMessageRendering[]>(content as MTopicEvent);\r\n const mtopic = Array.isArray(mtopicParent) ? mtopicParent : mtopicParent?.[\"m.text\"];\r\n // TODO remove support for the old malformed m.topic arrays after a few releases (only allow array in m.text)\r\n // https://github.com/matrix-org/matrix-js-sdk/pull/4984#pullrequestreview-3174251065\r\n //const mtopic = M_TOPIC.findIn<MTopicContent>(content)?.[\"m.text\"];\r\n if (!Array.isArray(mtopic)) {\r\n return { text: content.topic ?? undefined };\r\n }\r\n const text =\r\n mtopic?.find((r) => !isProvided(r.mimetype) || r.mimetype === \"text/plain\")?.body ?? content.topic ?? undefined;\r\n const html = mtopic?.find((r) => r.mimetype === \"text/html\")?.body;\r\n return { text, html };\r\n};\r\n\r\n/**\r\n * Beacon event helpers\r\n */\r\nexport type MakeBeaconInfoContent = (\r\n timeout: number,\r\n isLive?: boolean,\r\n description?: string,\r\n assetType?: LocationAssetType,\r\n timestamp?: number,\r\n) => MBeaconInfoEventContent;\r\n\r\nexport const makeBeaconInfoContent: MakeBeaconInfoContent = (timeout, isLive, description, assetType, timestamp) => ({\r\n description,\r\n timeout,\r\n live: isLive,\r\n [M_TIMESTAMP.name]: timestamp || Date.now(),\r\n [M_ASSET.name]: {\r\n type: assetType ?? LocationAssetType.Self,\r\n },\r\n});\r\n\r\nexport type BeaconInfoState = MBeaconInfoContent & {\r\n assetType?: LocationAssetType;\r\n timestamp?: number;\r\n};\r\n/**\r\n * Flatten beacon info event content\r\n */\r\nexport const parseBeaconInfoContent = (content: MBeaconInfoEventContent): BeaconInfoState => {\r\n const { description, timeout, live } = content;\r\n const timestamp = M_TIMESTAMP.findIn<number>(content) ?? undefined;\r\n const asset = M_ASSET.findIn<MAssetContent>(content);\r\n\r\n return {\r\n description,\r\n timeout,\r\n live,\r\n assetType: asset?.type,\r\n timestamp,\r\n };\r\n};\r\n\r\nexport type MakeBeaconContent = (\r\n uri: string,\r\n timestamp: number,\r\n beaconInfoEventId: string,\r\n description?: string,\r\n) => MBeaconEventContent;\r\n\r\nexport const makeBeaconContent: MakeBeaconContent = (uri, timestamp, beaconInfoEventId, description) => ({\r\n [M_LOCATION.name]: {\r\n description,\r\n uri,\r\n },\r\n [M_TIMESTAMP.name]: timestamp,\r\n \"m.relates_to\": {\r\n rel_type: REFERENCE_RELATION.name,\r\n event_id: beaconInfoEventId,\r\n },\r\n});\r\n\r\nexport type BeaconLocationState = Omit<MLocationContent, \"uri\"> & {\r\n uri?: string; // override from MLocationContent to allow optionals\r\n timestamp?: number;\r\n};\r\n\r\nexport const parseBeaconContent = (content: MBeaconEventContent): BeaconLocationState => {\r\n const location = M_LOCATION.findIn<MLocationContent>(content);\r\n const timestamp = M_TIMESTAMP.findIn<number>(content) ?? undefined;\r\n\r\n return {\r\n description: location?.description,\r\n uri: location?.uri,\r\n timestamp,\r\n };\r\n};\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the HTTP URL for an MXC URI.
|
|
3
|
+
* @param baseUrl - The base homeserver url which has a content repo.
|
|
4
|
+
* @param mxc - The mxc:// URI.
|
|
5
|
+
* @param width - The desired width of the thumbnail.
|
|
6
|
+
* @param height - The desired height of the thumbnail.
|
|
7
|
+
* @param resizeMethod - The thumbnail resize method to use, either
|
|
8
|
+
* "crop" or "scale".
|
|
9
|
+
* @param allowDirectLinks - If true, return any non-mxc URLs
|
|
10
|
+
* directly. Fetching such URLs will leak information about the user to
|
|
11
|
+
* anyone they share a room with. If false, will return the emptry string
|
|
12
|
+
* for such URLs.
|
|
13
|
+
* @param allowRedirects - If true, the caller supports the URL being 307 or
|
|
14
|
+
* 308 redirected to another resource upon request. If false, redirects
|
|
15
|
+
* are not expected. Implied `true` when `useAuthentication` is `true`.
|
|
16
|
+
* @param useAuthentication - If true, the caller supports authenticated
|
|
17
|
+
* media and wants an authentication-required URL. Note that server support
|
|
18
|
+
* for authenticated media will *not* be checked - it is the caller's responsibility
|
|
19
|
+
* to do so before calling this function. Note also that `useAuthentication`
|
|
20
|
+
* implies `allowRedirects`. Defaults to false (unauthenticated endpoints).
|
|
21
|
+
* @param animated - Whether the desired thumbnail should be animated.
|
|
22
|
+
* @returns The complete URL to the content, may be an empty string if the provided mxc is not valid.
|
|
23
|
+
*/
|
|
24
|
+
export declare function getHttpUriForMxc(baseUrl: string, mxc?: string, width?: number, height?: number, resizeMethod?: string, allowDirectLinks?: boolean, allowRedirects?: boolean, useAuthentication?: boolean, animated?: boolean): string;
|
|
25
|
+
//# sourceMappingURL=content-repo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-repo.d.ts","sourceRoot":"","sources":["../src/content-repo.ts"],"names":[],"mappings":"AAiCA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,gBAAgB,UAAQ,EACxB,cAAc,CAAC,EAAE,OAAO,EACxB,iBAAiB,CAAC,EAAE,OAAO,EAC3B,QAAQ,CAAC,EAAE,OAAO,GACnB,MAAM,CAuDR"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright 2015 - 2024 The Matrix.org Foundation C.I.C.
|
|
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
|
+
// Validation based on https://spec.matrix.org/v1.12/appendices/#server-name
|
|
18
|
+
// We do not use the validation described in https://spec.matrix.org/v1.12/client-server-api/#security-considerations-5
|
|
19
|
+
// as it'd wrongly make all MXCs invalid due to not allowing `[].:` in server names.
|
|
20
|
+
var serverNameRegex = /^(?:(?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|(?:\[[\dA-Fa-f:.]{2,45}])|(?:[A-Za-z\d\-.]{1,255}))(?::\d{1,5})?$/;
|
|
21
|
+
function validateServerName(serverName) {
|
|
22
|
+
var matches = serverNameRegex.exec(serverName);
|
|
23
|
+
return (matches === null || matches === void 0 ? void 0 : matches[0]) === serverName;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Validation based on https://spec.matrix.org/v1.12/client-server-api/#security-considerations-5
|
|
27
|
+
var mediaIdRegex = /^[\w-]+$/;
|
|
28
|
+
function validateMediaId(mediaId) {
|
|
29
|
+
var matches = mediaIdRegex.exec(mediaId);
|
|
30
|
+
return (matches === null || matches === void 0 ? void 0 : matches[0]) === mediaId;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Get the HTTP URL for an MXC URI.
|
|
35
|
+
* @param baseUrl - The base homeserver url which has a content repo.
|
|
36
|
+
* @param mxc - The mxc:// URI.
|
|
37
|
+
* @param width - The desired width of the thumbnail.
|
|
38
|
+
* @param height - The desired height of the thumbnail.
|
|
39
|
+
* @param resizeMethod - The thumbnail resize method to use, either
|
|
40
|
+
* "crop" or "scale".
|
|
41
|
+
* @param allowDirectLinks - If true, return any non-mxc URLs
|
|
42
|
+
* directly. Fetching such URLs will leak information about the user to
|
|
43
|
+
* anyone they share a room with. If false, will return the emptry string
|
|
44
|
+
* for such URLs.
|
|
45
|
+
* @param allowRedirects - If true, the caller supports the URL being 307 or
|
|
46
|
+
* 308 redirected to another resource upon request. If false, redirects
|
|
47
|
+
* are not expected. Implied `true` when `useAuthentication` is `true`.
|
|
48
|
+
* @param useAuthentication - If true, the caller supports authenticated
|
|
49
|
+
* media and wants an authentication-required URL. Note that server support
|
|
50
|
+
* for authenticated media will *not* be checked - it is the caller's responsibility
|
|
51
|
+
* to do so before calling this function. Note also that `useAuthentication`
|
|
52
|
+
* implies `allowRedirects`. Defaults to false (unauthenticated endpoints).
|
|
53
|
+
* @param animated - Whether the desired thumbnail should be animated.
|
|
54
|
+
* @returns The complete URL to the content, may be an empty string if the provided mxc is not valid.
|
|
55
|
+
*/
|
|
56
|
+
export function getHttpUriForMxc(baseUrl, mxc, width, height, resizeMethod) {
|
|
57
|
+
var allowDirectLinks = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
58
|
+
var allowRedirects = arguments.length > 6 ? arguments[6] : undefined;
|
|
59
|
+
var useAuthentication = arguments.length > 7 ? arguments[7] : undefined;
|
|
60
|
+
var animated = arguments.length > 8 ? arguments[8] : undefined;
|
|
61
|
+
if (typeof mxc !== "string" || !mxc) {
|
|
62
|
+
return "";
|
|
63
|
+
}
|
|
64
|
+
if (!mxc.startsWith("mxc://")) {
|
|
65
|
+
if (allowDirectLinks) {
|
|
66
|
+
return mxc;
|
|
67
|
+
} else {
|
|
68
|
+
return "";
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
var [serverName, mediaId, ...rest] = mxc.slice(6).split("/");
|
|
72
|
+
if (rest.length > 0 || !validateServerName(serverName) || !validateMediaId(mediaId)) {
|
|
73
|
+
return "";
|
|
74
|
+
}
|
|
75
|
+
if (useAuthentication) {
|
|
76
|
+
allowRedirects = true; // per docs (MSC3916 always expects redirects)
|
|
77
|
+
|
|
78
|
+
// Dev note: MSC3916 removes `allow_redirect` entirely, but
|
|
79
|
+
// for explicitness we set it here. This makes it slightly more obvious to
|
|
80
|
+
// callers, hopefully.
|
|
81
|
+
}
|
|
82
|
+
var prefix;
|
|
83
|
+
var isThumbnailRequest = !!width || !!height || !!resizeMethod;
|
|
84
|
+
var verb = isThumbnailRequest ? "thumbnail" : "download";
|
|
85
|
+
if (useAuthentication) {
|
|
86
|
+
prefix = "/_matrix/client/v1/media/".concat(verb);
|
|
87
|
+
} else {
|
|
88
|
+
prefix = "/_matrix/media/v3/".concat(verb);
|
|
89
|
+
}
|
|
90
|
+
var url = new URL("".concat(prefix, "/").concat(serverName, "/").concat(mediaId), baseUrl);
|
|
91
|
+
if (width) {
|
|
92
|
+
url.searchParams.set("width", Math.round(width).toString());
|
|
93
|
+
}
|
|
94
|
+
if (height) {
|
|
95
|
+
url.searchParams.set("height", Math.round(height).toString());
|
|
96
|
+
}
|
|
97
|
+
if (resizeMethod) {
|
|
98
|
+
url.searchParams.set("method", resizeMethod);
|
|
99
|
+
}
|
|
100
|
+
if (animated !== undefined) {
|
|
101
|
+
url.searchParams.set("animated", String(animated));
|
|
102
|
+
}
|
|
103
|
+
if (typeof allowRedirects === "boolean") {
|
|
104
|
+
// We add this after, so we don't convert everything to a thumbnail request.
|
|
105
|
+
url.searchParams.set("allow_redirect", JSON.stringify(allowRedirects));
|
|
106
|
+
}
|
|
107
|
+
return url.href;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=content-repo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-repo.js","names":["serverNameRegex","validateServerName","serverName","matches","exec","mediaIdRegex","validateMediaId","mediaId","getHttpUriForMxc","baseUrl","mxc","width","height","resizeMethod","allowDirectLinks","arguments","length","undefined","allowRedirects","useAuthentication","animated","startsWith","rest","slice","split","prefix","isThumbnailRequest","verb","concat","url","URL","searchParams","set","Math","round","toString","String","JSON","stringify","href"],"sources":["../src/content-repo.ts"],"sourcesContent":["/*\r\nCopyright 2015 - 2024 The Matrix.org Foundation C.I.C.\r\n\r\nLicensed under the Apache License, Version 2.0 (the \"License\");\r\nyou may not use this file except in compliance with the License.\r\nYou may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nUnless required by applicable law or agreed to in writing, software\r\ndistributed under the License is distributed on an \"AS IS\" BASIS,\r\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\nSee the License for the specific language governing permissions and\r\nlimitations under the License.\r\n*/\r\n\r\n// Validation based on https://spec.matrix.org/v1.12/appendices/#server-name\r\n// We do not use the validation described in https://spec.matrix.org/v1.12/client-server-api/#security-considerations-5\r\n// as it'd wrongly make all MXCs invalid due to not allowing `[].:` in server names.\r\nconst serverNameRegex =\r\n /^(?:(?:\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})|(?:\\[[\\dA-Fa-f:.]{2,45}])|(?:[A-Za-z\\d\\-.]{1,255}))(?::\\d{1,5})?$/;\r\nfunction validateServerName(serverName: string): boolean {\r\n const matches = serverNameRegex.exec(serverName);\r\n return matches?.[0] === serverName;\r\n}\r\n\r\n// Validation based on https://spec.matrix.org/v1.12/client-server-api/#security-considerations-5\r\nconst mediaIdRegex = /^[\\w-]+$/;\r\nfunction validateMediaId(mediaId: string): boolean {\r\n const matches = mediaIdRegex.exec(mediaId);\r\n return matches?.[0] === mediaId;\r\n}\r\n\r\n/**\r\n * Get the HTTP URL for an MXC URI.\r\n * @param baseUrl - The base homeserver url which has a content repo.\r\n * @param mxc - The mxc:// URI.\r\n * @param width - The desired width of the thumbnail.\r\n * @param height - The desired height of the thumbnail.\r\n * @param resizeMethod - The thumbnail resize method to use, either\r\n * \"crop\" or \"scale\".\r\n * @param allowDirectLinks - If true, return any non-mxc URLs\r\n * directly. Fetching such URLs will leak information about the user to\r\n * anyone they share a room with. If false, will return the emptry string\r\n * for such URLs.\r\n * @param allowRedirects - If true, the caller supports the URL being 307 or\r\n * 308 redirected to another resource upon request. If false, redirects\r\n * are not expected. Implied `true` when `useAuthentication` is `true`.\r\n * @param useAuthentication - If true, the caller supports authenticated\r\n * media and wants an authentication-required URL. Note that server support\r\n * for authenticated media will *not* be checked - it is the caller's responsibility\r\n * to do so before calling this function. Note also that `useAuthentication`\r\n * implies `allowRedirects`. Defaults to false (unauthenticated endpoints).\r\n * @param animated - Whether the desired thumbnail should be animated.\r\n * @returns The complete URL to the content, may be an empty string if the provided mxc is not valid.\r\n */\r\nexport function getHttpUriForMxc(\r\n baseUrl: string,\r\n mxc?: string,\r\n width?: number,\r\n height?: number,\r\n resizeMethod?: string,\r\n allowDirectLinks = false,\r\n allowRedirects?: boolean,\r\n useAuthentication?: boolean,\r\n animated?: boolean,\r\n): string {\r\n if (typeof mxc !== \"string\" || !mxc) {\r\n return \"\";\r\n }\r\n if (!mxc.startsWith(\"mxc://\")) {\r\n if (allowDirectLinks) {\r\n return mxc;\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n\r\n const [serverName, mediaId, ...rest] = mxc.slice(6).split(\"/\");\r\n if (rest.length > 0 || !validateServerName(serverName) || !validateMediaId(mediaId)) {\r\n return \"\";\r\n }\r\n\r\n if (useAuthentication) {\r\n allowRedirects = true; // per docs (MSC3916 always expects redirects)\r\n\r\n // Dev note: MSC3916 removes `allow_redirect` entirely, but\r\n // for explicitness we set it here. This makes it slightly more obvious to\r\n // callers, hopefully.\r\n }\r\n\r\n let prefix: string;\r\n const isThumbnailRequest = !!width || !!height || !!resizeMethod;\r\n const verb = isThumbnailRequest ? \"thumbnail\" : \"download\";\r\n if (useAuthentication) {\r\n prefix = `/_matrix/client/v1/media/${verb}`;\r\n } else {\r\n prefix = `/_matrix/media/v3/${verb}`;\r\n }\r\n\r\n const url = new URL(`${prefix}/${serverName}/${mediaId}`, baseUrl);\r\n\r\n if (width) {\r\n url.searchParams.set(\"width\", Math.round(width).toString());\r\n }\r\n if (height) {\r\n url.searchParams.set(\"height\", Math.round(height).toString());\r\n }\r\n if (resizeMethod) {\r\n url.searchParams.set(\"method\", resizeMethod);\r\n }\r\n if (animated !== undefined) {\r\n url.searchParams.set(\"animated\", String(animated));\r\n }\r\n\r\n if (typeof allowRedirects === \"boolean\") {\r\n // We add this after, so we don't convert everything to a thumbnail request.\r\n url.searchParams.set(\"allow_redirect\", JSON.stringify(allowRedirects));\r\n }\r\n\r\n return url.href;\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|