@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,79 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright 2023 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
|
+
export class CallFeedStatsReporter {
|
|
18
|
+
static buildCallFeedReport(callId, opponentMemberId, pc) {
|
|
19
|
+
var rtpTransceivers = pc.getTransceivers();
|
|
20
|
+
var transceiver = [];
|
|
21
|
+
var callFeeds = [];
|
|
22
|
+
rtpTransceivers.forEach(t => {
|
|
23
|
+
var _t$sender;
|
|
24
|
+
var sender = (_t$sender = t.sender) !== null && _t$sender !== void 0 && _t$sender.track ? CallFeedStatsReporter.buildTrackStats(t.sender.track, "sender") : null;
|
|
25
|
+
var receiver = CallFeedStatsReporter.buildTrackStats(t.receiver.track, "receiver");
|
|
26
|
+
transceiver.push({
|
|
27
|
+
mid: t.mid == null ? "null" : t.mid,
|
|
28
|
+
direction: t.direction,
|
|
29
|
+
currentDirection: t.currentDirection == null ? "null" : t.currentDirection,
|
|
30
|
+
sender,
|
|
31
|
+
receiver
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
return {
|
|
35
|
+
callId,
|
|
36
|
+
opponentMemberId,
|
|
37
|
+
transceiver,
|
|
38
|
+
callFeeds
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
static buildTrackStats(track) {
|
|
42
|
+
var _track$getSettings, _track$getConstraints;
|
|
43
|
+
var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "--";
|
|
44
|
+
var settingDeviceId = (_track$getSettings = track.getSettings()) === null || _track$getSettings === void 0 ? void 0 : _track$getSettings.deviceId;
|
|
45
|
+
var constrainDeviceId = (_track$getConstraints = track.getConstraints()) === null || _track$getConstraints === void 0 ? void 0 : _track$getConstraints.deviceId;
|
|
46
|
+
return {
|
|
47
|
+
id: track.id,
|
|
48
|
+
kind: track.kind,
|
|
49
|
+
settingDeviceId: settingDeviceId !== null && settingDeviceId !== void 0 ? settingDeviceId : "unknown",
|
|
50
|
+
constrainDeviceId: constrainDeviceId !== null && constrainDeviceId !== void 0 ? constrainDeviceId : "unknown",
|
|
51
|
+
muted: track.muted,
|
|
52
|
+
enabled: track.enabled,
|
|
53
|
+
readyState: track.readyState,
|
|
54
|
+
label
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
static expandCallFeedReport(report, callFeeds) {
|
|
58
|
+
var prefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "unknown";
|
|
59
|
+
callFeeds.forEach(feed => {
|
|
60
|
+
var audioTracks = feed.stream.getAudioTracks();
|
|
61
|
+
var videoTracks = feed.stream.getVideoTracks();
|
|
62
|
+
var audio = audioTracks.length > 0 ? CallFeedStatsReporter.buildTrackStats(feed.stream.getAudioTracks()[0], feed.purpose) : null;
|
|
63
|
+
var video = videoTracks.length > 0 ? CallFeedStatsReporter.buildTrackStats(feed.stream.getVideoTracks()[0], feed.purpose) : null;
|
|
64
|
+
var feedStats = {
|
|
65
|
+
stream: feed.stream.id,
|
|
66
|
+
type: feed.isLocal() ? "local" : "remote",
|
|
67
|
+
audio,
|
|
68
|
+
video,
|
|
69
|
+
purpose: feed.purpose,
|
|
70
|
+
prefix,
|
|
71
|
+
isVideoMuted: feed.isVideoMuted(),
|
|
72
|
+
isAudioMuted: feed.isAudioMuted()
|
|
73
|
+
};
|
|
74
|
+
report.callFeeds.push(feedStats);
|
|
75
|
+
});
|
|
76
|
+
return report;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=callFeedStatsReporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callFeedStatsReporter.js","names":["CallFeedStatsReporter","buildCallFeedReport","callId","opponentMemberId","pc","rtpTransceivers","getTransceivers","transceiver","callFeeds","forEach","t","_t$sender","sender","track","buildTrackStats","receiver","push","mid","direction","currentDirection","_track$getSettings","_track$getConstraints","label","arguments","length","undefined","settingDeviceId","getSettings","deviceId","constrainDeviceId","getConstraints","id","kind","muted","enabled","readyState","expandCallFeedReport","report","prefix","feed","audioTracks","stream","getAudioTracks","videoTracks","getVideoTracks","audio","purpose","video","feedStats","type","isLocal","isVideoMuted","isAudioMuted"],"sources":["../../../src/webrtc/stats/callFeedStatsReporter.ts"],"sourcesContent":["/*\r\nCopyright 2023 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\nimport { type CallFeedReport, type CallFeedStats, type TrackStats, type TransceiverStats } from \"./statsReport.ts\";\r\nimport { type CallFeed } from \"../callFeed.ts\";\r\n\r\nexport class CallFeedStatsReporter {\r\n public static buildCallFeedReport(callId: string, opponentMemberId: string, pc: RTCPeerConnection): CallFeedReport {\r\n const rtpTransceivers = pc.getTransceivers();\r\n const transceiver: TransceiverStats[] = [];\r\n const callFeeds: CallFeedStats[] = [];\r\n\r\n rtpTransceivers.forEach((t) => {\r\n const sender = t.sender?.track ? CallFeedStatsReporter.buildTrackStats(t.sender.track, \"sender\") : null;\r\n const receiver = CallFeedStatsReporter.buildTrackStats(t.receiver.track, \"receiver\");\r\n transceiver.push({\r\n mid: t.mid == null ? \"null\" : t.mid,\r\n direction: t.direction,\r\n currentDirection: t.currentDirection == null ? \"null\" : t.currentDirection,\r\n sender,\r\n receiver,\r\n });\r\n });\r\n\r\n return {\r\n callId,\r\n opponentMemberId,\r\n transceiver,\r\n callFeeds,\r\n };\r\n }\r\n\r\n private static buildTrackStats(track: MediaStreamTrack, label = \"--\"): TrackStats {\r\n const settingDeviceId = track.getSettings()?.deviceId;\r\n const constrainDeviceId = track.getConstraints()?.deviceId;\r\n\r\n return {\r\n id: track.id,\r\n kind: track.kind,\r\n settingDeviceId: settingDeviceId ?? \"unknown\",\r\n constrainDeviceId: constrainDeviceId ?? \"unknown\",\r\n muted: track.muted,\r\n enabled: track.enabled,\r\n readyState: track.readyState,\r\n label,\r\n } as TrackStats;\r\n }\r\n\r\n public static expandCallFeedReport(\r\n report: CallFeedReport,\r\n callFeeds: CallFeed[],\r\n prefix = \"unknown\",\r\n ): CallFeedReport {\r\n callFeeds.forEach((feed) => {\r\n const audioTracks = feed.stream.getAudioTracks();\r\n const videoTracks = feed.stream.getVideoTracks();\r\n const audio =\r\n audioTracks.length > 0\r\n ? CallFeedStatsReporter.buildTrackStats(feed.stream.getAudioTracks()[0], feed.purpose)\r\n : null;\r\n const video =\r\n videoTracks.length > 0\r\n ? CallFeedStatsReporter.buildTrackStats(feed.stream.getVideoTracks()[0], feed.purpose)\r\n : null;\r\n const feedStats = {\r\n stream: feed.stream.id,\r\n type: feed.isLocal() ? \"local\" : \"remote\",\r\n audio,\r\n video,\r\n purpose: feed.purpose,\r\n prefix,\r\n isVideoMuted: feed.isVideoMuted(),\r\n isAudioMuted: feed.isAudioMuted(),\r\n } as CallFeedStats;\r\n report.callFeeds.push(feedStats);\r\n });\r\n return report;\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type StatsReportEmitter } from "./statsReportEmitter.ts";
|
|
2
|
+
import { type CallStatsReportSummary } from "./callStatsReportSummary.ts";
|
|
3
|
+
export declare class CallStatsReportGatherer {
|
|
4
|
+
readonly callId: string;
|
|
5
|
+
private opponentMemberId;
|
|
6
|
+
private readonly pc;
|
|
7
|
+
private readonly emitter;
|
|
8
|
+
private readonly isFocus;
|
|
9
|
+
private isActive;
|
|
10
|
+
private previousStatsReport;
|
|
11
|
+
private currentStatsReport;
|
|
12
|
+
private readonly connectionStats;
|
|
13
|
+
private readonly trackStats;
|
|
14
|
+
constructor(callId: string, opponentMemberId: string, pc: RTCPeerConnection, emitter: StatsReportEmitter, isFocus?: boolean);
|
|
15
|
+
processStats(groupCallId: string, localUserId: string): Promise<CallStatsReportSummary>;
|
|
16
|
+
private processStatsReport;
|
|
17
|
+
setActive(isActive: boolean): void;
|
|
18
|
+
getActive(): boolean;
|
|
19
|
+
private handleError;
|
|
20
|
+
private processAndEmitConnectionStatsReport;
|
|
21
|
+
stopProcessingStats(): void;
|
|
22
|
+
private onSignalStateChange;
|
|
23
|
+
setOpponentMemberId(id: string): void;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=callStatsReportGatherer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callStatsReportGatherer.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/callStatsReportGatherer.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAUlE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAI1E,qBAAa,uBAAuB;aASZ,MAAM,EAAE,MAAM;IAC9B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ5B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IAEzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;gBAGhC,MAAM,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,EACf,EAAE,EAAE,iBAAiB,EACrB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,UAAO;IAMtB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA+CpG,OAAO,CAAC,kBAAkB;IA2EnB,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAIlC,SAAS,IAAI,OAAO;IAI3B,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,mCAAmC;IAiBpC,mBAAmB,IAAI,IAAI;IAElC,OAAO,CAAC,mBAAmB;IAWpB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAG/C"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
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; }
|
|
4
|
+
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; }
|
|
5
|
+
/*
|
|
6
|
+
Copyright 2023 The Matrix.org Foundation C.I.C.
|
|
7
|
+
|
|
8
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
you may not use this file except in compliance with the License.
|
|
10
|
+
You may obtain a copy of the License at
|
|
11
|
+
|
|
12
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
|
|
14
|
+
Unless required by applicable law or agreed to in writing, software
|
|
15
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
+
See the License for the specific language governing permissions and
|
|
18
|
+
limitations under the License.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import { ConnectionStats } from "./connectionStats.js";
|
|
22
|
+
import { ConnectionStatsBuilder } from "./connectionStatsBuilder.js";
|
|
23
|
+
import { TransportStatsBuilder } from "./transportStatsBuilder.js";
|
|
24
|
+
import { MediaSsrcHandler } from "./media/mediaSsrcHandler.js";
|
|
25
|
+
import { MediaTrackHandler } from "./media/mediaTrackHandler.js";
|
|
26
|
+
import { MediaTrackStatsHandler } from "./media/mediaTrackStatsHandler.js";
|
|
27
|
+
import { TrackStatsBuilder } from "./trackStatsBuilder.js";
|
|
28
|
+
import { ConnectionStatsReportBuilder } from "./connectionStatsReportBuilder.js";
|
|
29
|
+
import { ValueFormatter } from "./valueFormatter.js";
|
|
30
|
+
import { logger } from "../../logger.js";
|
|
31
|
+
import { CallFeedStatsReporter } from "./callFeedStatsReporter.js";
|
|
32
|
+
export class CallStatsReportGatherer {
|
|
33
|
+
constructor(callId, opponentMemberId, pc, emitter) {
|
|
34
|
+
var isFocus = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
|
|
35
|
+
this.callId = callId;
|
|
36
|
+
this.opponentMemberId = opponentMemberId;
|
|
37
|
+
this.pc = pc;
|
|
38
|
+
this.emitter = emitter;
|
|
39
|
+
this.isFocus = isFocus;
|
|
40
|
+
_defineProperty(this, "isActive", true);
|
|
41
|
+
_defineProperty(this, "previousStatsReport", void 0);
|
|
42
|
+
_defineProperty(this, "currentStatsReport", void 0);
|
|
43
|
+
_defineProperty(this, "connectionStats", new ConnectionStats());
|
|
44
|
+
_defineProperty(this, "trackStats", void 0);
|
|
45
|
+
pc.addEventListener("signalingstatechange", this.onSignalStateChange.bind(this));
|
|
46
|
+
this.trackStats = new MediaTrackStatsHandler(new MediaSsrcHandler(), new MediaTrackHandler(pc));
|
|
47
|
+
}
|
|
48
|
+
processStats(groupCallId, localUserId) {
|
|
49
|
+
var _this = this;
|
|
50
|
+
return _asyncToGenerator(function* () {
|
|
51
|
+
var summary = {
|
|
52
|
+
isFirstCollection: _this.previousStatsReport === undefined,
|
|
53
|
+
receivedMedia: 0,
|
|
54
|
+
receivedAudioMedia: 0,
|
|
55
|
+
receivedVideoMedia: 0,
|
|
56
|
+
audioTrackSummary: {
|
|
57
|
+
count: 0,
|
|
58
|
+
muted: 0,
|
|
59
|
+
maxPacketLoss: 0,
|
|
60
|
+
maxJitter: 0,
|
|
61
|
+
concealedAudio: 0,
|
|
62
|
+
totalAudio: 0
|
|
63
|
+
},
|
|
64
|
+
videoTrackSummary: {
|
|
65
|
+
count: 0,
|
|
66
|
+
muted: 0,
|
|
67
|
+
maxPacketLoss: 0,
|
|
68
|
+
maxJitter: 0,
|
|
69
|
+
concealedAudio: 0,
|
|
70
|
+
totalAudio: 0
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
if (_this.isActive) {
|
|
74
|
+
var statsPromise = _this.pc.getStats();
|
|
75
|
+
if (typeof (statsPromise === null || statsPromise === void 0 ? void 0 : statsPromise.then) === "function") {
|
|
76
|
+
return statsPromise.then(report => {
|
|
77
|
+
var _this$connectionStats, _this$connectionStats2;
|
|
78
|
+
// @ts-ignore
|
|
79
|
+
_this.currentStatsReport = typeof (report === null || report === void 0 ? void 0 : report.result) === "function" ? report.result() : report;
|
|
80
|
+
try {
|
|
81
|
+
_this.processStatsReport(groupCallId, localUserId);
|
|
82
|
+
} catch (error) {
|
|
83
|
+
_this.handleError(error);
|
|
84
|
+
return summary;
|
|
85
|
+
}
|
|
86
|
+
_this.previousStatsReport = _this.currentStatsReport;
|
|
87
|
+
summary.receivedMedia = _this.connectionStats.bitrate.download;
|
|
88
|
+
summary.receivedAudioMedia = ((_this$connectionStats = _this.connectionStats.bitrate.audio) === null || _this$connectionStats === void 0 ? void 0 : _this$connectionStats.download) || 0;
|
|
89
|
+
summary.receivedVideoMedia = ((_this$connectionStats2 = _this.connectionStats.bitrate.video) === null || _this$connectionStats2 === void 0 ? void 0 : _this$connectionStats2.download) || 0;
|
|
90
|
+
var trackSummary = TrackStatsBuilder.buildTrackSummary(Array.from(_this.trackStats.getTrack2stats().values()));
|
|
91
|
+
return _objectSpread(_objectSpread({}, summary), {}, {
|
|
92
|
+
audioTrackSummary: trackSummary.audioTrackSummary,
|
|
93
|
+
videoTrackSummary: trackSummary.videoTrackSummary
|
|
94
|
+
});
|
|
95
|
+
}).catch(error => {
|
|
96
|
+
_this.handleError(error);
|
|
97
|
+
return summary;
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
_this.isActive = false;
|
|
101
|
+
}
|
|
102
|
+
return Promise.resolve(summary);
|
|
103
|
+
})();
|
|
104
|
+
}
|
|
105
|
+
processStatsReport(groupCallId, localUserId) {
|
|
106
|
+
var _this$currentStatsRep;
|
|
107
|
+
var byteSentStatsReport = new Map();
|
|
108
|
+
byteSentStatsReport.callId = this.callId;
|
|
109
|
+
byteSentStatsReport.opponentMemberId = this.opponentMemberId;
|
|
110
|
+
(_this$currentStatsRep = this.currentStatsReport) === null || _this$currentStatsRep === void 0 || _this$currentStatsRep.forEach(now => {
|
|
111
|
+
var before = this.previousStatsReport ? this.previousStatsReport.get(now.id) : null;
|
|
112
|
+
// RTCIceCandidatePairStats - https://w3c.github.io/webrtc-stats/#candidatepair-dict*
|
|
113
|
+
if (now.type === "candidate-pair" && now.nominated && now.state === "succeeded") {
|
|
114
|
+
this.connectionStats.bandwidth = ConnectionStatsBuilder.buildBandwidthReport(now);
|
|
115
|
+
this.connectionStats.transport = TransportStatsBuilder.buildReport(this.currentStatsReport, now, this.connectionStats.transport, this.isFocus);
|
|
116
|
+
|
|
117
|
+
// RTCReceivedRtpStreamStats
|
|
118
|
+
// https://w3c.github.io/webrtc-stats/#receivedrtpstats-dict*
|
|
119
|
+
// RTCSentRtpStreamStats
|
|
120
|
+
// https://w3c.github.io/webrtc-stats/#sentrtpstats-dict*
|
|
121
|
+
} else if (now.type === "inbound-rtp" || now.type === "outbound-rtp") {
|
|
122
|
+
var trackStats = this.trackStats.findTrack2Stats(now, now.type === "inbound-rtp" ? "remote" : "local");
|
|
123
|
+
if (!trackStats) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
if (before) {
|
|
127
|
+
TrackStatsBuilder.buildPacketsLost(trackStats, now, before);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// Get the resolution and framerate for only remote video sources here. For the local video sources,
|
|
131
|
+
// 'track' stats will be used since they have the updated resolution based on the simulcast streams
|
|
132
|
+
// currently being sent. Promise based getStats reports three 'outbound-rtp' streams and there will be
|
|
133
|
+
// more calculations needed to determine what is the highest resolution stream sent by the client if the
|
|
134
|
+
// 'outbound-rtp' stats are used.
|
|
135
|
+
if (now.type === "inbound-rtp") {
|
|
136
|
+
TrackStatsBuilder.buildFramerateResolution(trackStats, now);
|
|
137
|
+
if (before) {
|
|
138
|
+
TrackStatsBuilder.buildBitrateReceived(trackStats, now, before);
|
|
139
|
+
}
|
|
140
|
+
var ts = this.trackStats.findTransceiverByTrackId(trackStats.trackId);
|
|
141
|
+
TrackStatsBuilder.setTrackStatsState(trackStats, ts);
|
|
142
|
+
TrackStatsBuilder.buildJitter(trackStats, now);
|
|
143
|
+
TrackStatsBuilder.buildAudioConcealment(trackStats, now);
|
|
144
|
+
} else if (before) {
|
|
145
|
+
byteSentStatsReport.set(trackStats.trackId, ValueFormatter.getNonNegativeValue(now.bytesSent));
|
|
146
|
+
TrackStatsBuilder.buildBitrateSend(trackStats, now, before);
|
|
147
|
+
}
|
|
148
|
+
TrackStatsBuilder.buildCodec(this.currentStatsReport, trackStats, now);
|
|
149
|
+
} else if (now.type === "track" && now.kind === "video" && !now.remoteSource) {
|
|
150
|
+
var _trackStats = this.trackStats.findLocalVideoTrackStats(now);
|
|
151
|
+
if (!_trackStats) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
TrackStatsBuilder.buildFramerateResolution(_trackStats, now);
|
|
155
|
+
TrackStatsBuilder.calculateSimulcastFramerate(_trackStats, now, before, this.trackStats.mediaTrackHandler.getActiveSimulcastStreams());
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
this.emitter.emitByteSendReport(byteSentStatsReport);
|
|
159
|
+
this.emitter.emitCallFeedReport(CallFeedStatsReporter.buildCallFeedReport(this.callId, this.opponentMemberId, this.pc));
|
|
160
|
+
this.processAndEmitConnectionStatsReport();
|
|
161
|
+
}
|
|
162
|
+
setActive(isActive) {
|
|
163
|
+
this.isActive = isActive;
|
|
164
|
+
}
|
|
165
|
+
getActive() {
|
|
166
|
+
return this.isActive;
|
|
167
|
+
}
|
|
168
|
+
handleError(error) {
|
|
169
|
+
this.isActive = false;
|
|
170
|
+
logger.warn("CallStatsReportGatherer ".concat(this.callId, " processStatsReport fails and set to inactive ").concat(error));
|
|
171
|
+
}
|
|
172
|
+
processAndEmitConnectionStatsReport() {
|
|
173
|
+
var report = ConnectionStatsReportBuilder.build(this.trackStats.getTrack2stats());
|
|
174
|
+
report.callId = this.callId;
|
|
175
|
+
report.opponentMemberId = this.opponentMemberId;
|
|
176
|
+
this.connectionStats.bandwidth = report.bandwidth;
|
|
177
|
+
this.connectionStats.bitrate = report.bitrate;
|
|
178
|
+
this.connectionStats.packetLoss = report.packetLoss;
|
|
179
|
+
this.emitter.emitConnectionStatsReport(_objectSpread(_objectSpread({}, report), {}, {
|
|
180
|
+
transport: this.connectionStats.transport
|
|
181
|
+
}));
|
|
182
|
+
this.connectionStats.transport = [];
|
|
183
|
+
}
|
|
184
|
+
stopProcessingStats() {}
|
|
185
|
+
onSignalStateChange() {
|
|
186
|
+
if (this.pc.signalingState === "stable") {
|
|
187
|
+
if (this.pc.currentRemoteDescription) {
|
|
188
|
+
this.trackStats.mediaSsrcHandler.parse(this.pc.currentRemoteDescription.sdp, "remote");
|
|
189
|
+
}
|
|
190
|
+
if (this.pc.currentLocalDescription) {
|
|
191
|
+
this.trackStats.mediaSsrcHandler.parse(this.pc.currentLocalDescription.sdp, "local");
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
setOpponentMemberId(id) {
|
|
196
|
+
this.opponentMemberId = id;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=callStatsReportGatherer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callStatsReportGatherer.js","names":["ConnectionStats","ConnectionStatsBuilder","TransportStatsBuilder","MediaSsrcHandler","MediaTrackHandler","MediaTrackStatsHandler","TrackStatsBuilder","ConnectionStatsReportBuilder","ValueFormatter","logger","CallFeedStatsReporter","CallStatsReportGatherer","constructor","callId","opponentMemberId","pc","emitter","isFocus","arguments","length","undefined","_defineProperty","addEventListener","onSignalStateChange","bind","trackStats","processStats","groupCallId","localUserId","_this","_asyncToGenerator","summary","isFirstCollection","previousStatsReport","receivedMedia","receivedAudioMedia","receivedVideoMedia","audioTrackSummary","count","muted","maxPacketLoss","maxJitter","concealedAudio","totalAudio","videoTrackSummary","isActive","statsPromise","getStats","then","report","_this$connectionStats","_this$connectionStats2","currentStatsReport","result","processStatsReport","error","handleError","connectionStats","bitrate","download","audio","video","trackSummary","buildTrackSummary","Array","from","getTrack2stats","values","_objectSpread","catch","Promise","resolve","_this$currentStatsRep","byteSentStatsReport","Map","forEach","now","before","get","id","type","nominated","state","bandwidth","buildBandwidthReport","transport","buildReport","findTrack2Stats","buildPacketsLost","buildFramerateResolution","buildBitrateReceived","ts","findTransceiverByTrackId","trackId","setTrackStatsState","buildJitter","buildAudioConcealment","set","getNonNegativeValue","bytesSent","buildBitrateSend","buildCodec","kind","remoteSource","findLocalVideoTrackStats","calculateSimulcastFramerate","mediaTrackHandler","getActiveSimulcastStreams","emitByteSendReport","emitCallFeedReport","buildCallFeedReport","processAndEmitConnectionStatsReport","setActive","getActive","warn","concat","build","packetLoss","emitConnectionStatsReport","stopProcessingStats","signalingState","currentRemoteDescription","mediaSsrcHandler","parse","sdp","currentLocalDescription","setOpponentMemberId"],"sources":["../../../src/webrtc/stats/callStatsReportGatherer.ts"],"sourcesContent":["/*\r\nCopyright 2023 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 { ConnectionStats } from \"./connectionStats.ts\";\r\nimport { type StatsReportEmitter } from \"./statsReportEmitter.ts\";\r\nimport { type ByteSend, type ByteSentStatsReport, type TrackID } from \"./statsReport.ts\";\r\nimport { ConnectionStatsBuilder } from \"./connectionStatsBuilder.ts\";\r\nimport { TransportStatsBuilder } from \"./transportStatsBuilder.ts\";\r\nimport { MediaSsrcHandler } from \"./media/mediaSsrcHandler.ts\";\r\nimport { MediaTrackHandler } from \"./media/mediaTrackHandler.ts\";\r\nimport { MediaTrackStatsHandler } from \"./media/mediaTrackStatsHandler.ts\";\r\nimport { TrackStatsBuilder } from \"./trackStatsBuilder.ts\";\r\nimport { ConnectionStatsReportBuilder } from \"./connectionStatsReportBuilder.ts\";\r\nimport { ValueFormatter } from \"./valueFormatter.ts\";\r\nimport { type CallStatsReportSummary } from \"./callStatsReportSummary.ts\";\r\nimport { logger } from \"../../logger.ts\";\r\nimport { CallFeedStatsReporter } from \"./callFeedStatsReporter.ts\";\r\n\r\nexport class CallStatsReportGatherer {\r\n private isActive = true;\r\n private previousStatsReport: RTCStatsReport | undefined;\r\n private currentStatsReport: RTCStatsReport | undefined;\r\n private readonly connectionStats = new ConnectionStats();\r\n\r\n private readonly trackStats: MediaTrackStatsHandler;\r\n\r\n public constructor(\r\n public readonly callId: string,\r\n private opponentMemberId: string,\r\n private readonly pc: RTCPeerConnection,\r\n private readonly emitter: StatsReportEmitter,\r\n private readonly isFocus = true,\r\n ) {\r\n pc.addEventListener(\"signalingstatechange\", this.onSignalStateChange.bind(this));\r\n this.trackStats = new MediaTrackStatsHandler(new MediaSsrcHandler(), new MediaTrackHandler(pc));\r\n }\r\n\r\n public async processStats(groupCallId: string, localUserId: string): Promise<CallStatsReportSummary> {\r\n const summary = {\r\n isFirstCollection: this.previousStatsReport === undefined,\r\n receivedMedia: 0,\r\n receivedAudioMedia: 0,\r\n receivedVideoMedia: 0,\r\n audioTrackSummary: { count: 0, muted: 0, maxPacketLoss: 0, maxJitter: 0, concealedAudio: 0, totalAudio: 0 },\r\n videoTrackSummary: { count: 0, muted: 0, maxPacketLoss: 0, maxJitter: 0, concealedAudio: 0, totalAudio: 0 },\r\n } as CallStatsReportSummary;\r\n if (this.isActive) {\r\n const statsPromise = this.pc.getStats();\r\n if (typeof statsPromise?.then === \"function\") {\r\n return statsPromise\r\n .then((report) => {\r\n // @ts-ignore\r\n this.currentStatsReport = typeof report?.result === \"function\" ? report.result() : report;\r\n\r\n try {\r\n this.processStatsReport(groupCallId, localUserId);\r\n } catch (error) {\r\n this.handleError(error);\r\n return summary;\r\n }\r\n\r\n this.previousStatsReport = this.currentStatsReport;\r\n summary.receivedMedia = this.connectionStats.bitrate.download;\r\n summary.receivedAudioMedia = this.connectionStats.bitrate.audio?.download || 0;\r\n summary.receivedVideoMedia = this.connectionStats.bitrate.video?.download || 0;\r\n const trackSummary = TrackStatsBuilder.buildTrackSummary(\r\n Array.from(this.trackStats.getTrack2stats().values()),\r\n );\r\n return {\r\n ...summary,\r\n audioTrackSummary: trackSummary.audioTrackSummary,\r\n videoTrackSummary: trackSummary.videoTrackSummary,\r\n };\r\n })\r\n .catch((error) => {\r\n this.handleError(error);\r\n return summary;\r\n });\r\n }\r\n this.isActive = false;\r\n }\r\n return Promise.resolve(summary);\r\n }\r\n\r\n private processStatsReport(groupCallId: string, localUserId: string): void {\r\n const byteSentStatsReport: ByteSentStatsReport = new Map<TrackID, ByteSend>() as ByteSentStatsReport;\r\n byteSentStatsReport.callId = this.callId;\r\n byteSentStatsReport.opponentMemberId = this.opponentMemberId;\r\n\r\n this.currentStatsReport?.forEach((now) => {\r\n const before = this.previousStatsReport ? this.previousStatsReport.get(now.id) : null;\r\n // RTCIceCandidatePairStats - https://w3c.github.io/webrtc-stats/#candidatepair-dict*\r\n if (now.type === \"candidate-pair\" && now.nominated && now.state === \"succeeded\") {\r\n this.connectionStats.bandwidth = ConnectionStatsBuilder.buildBandwidthReport(now);\r\n this.connectionStats.transport = TransportStatsBuilder.buildReport(\r\n this.currentStatsReport,\r\n now,\r\n this.connectionStats.transport,\r\n this.isFocus,\r\n );\r\n\r\n // RTCReceivedRtpStreamStats\r\n // https://w3c.github.io/webrtc-stats/#receivedrtpstats-dict*\r\n // RTCSentRtpStreamStats\r\n // https://w3c.github.io/webrtc-stats/#sentrtpstats-dict*\r\n } else if (now.type === \"inbound-rtp\" || now.type === \"outbound-rtp\") {\r\n const trackStats = this.trackStats.findTrack2Stats(\r\n now,\r\n now.type === \"inbound-rtp\" ? \"remote\" : \"local\",\r\n );\r\n if (!trackStats) {\r\n return;\r\n }\r\n\r\n if (before) {\r\n TrackStatsBuilder.buildPacketsLost(trackStats, now, before);\r\n }\r\n\r\n // Get the resolution and framerate for only remote video sources here. For the local video sources,\r\n // 'track' stats will be used since they have the updated resolution based on the simulcast streams\r\n // currently being sent. Promise based getStats reports three 'outbound-rtp' streams and there will be\r\n // more calculations needed to determine what is the highest resolution stream sent by the client if the\r\n // 'outbound-rtp' stats are used.\r\n if (now.type === \"inbound-rtp\") {\r\n TrackStatsBuilder.buildFramerateResolution(trackStats, now);\r\n if (before) {\r\n TrackStatsBuilder.buildBitrateReceived(trackStats, now, before);\r\n }\r\n const ts = this.trackStats.findTransceiverByTrackId(trackStats.trackId);\r\n TrackStatsBuilder.setTrackStatsState(trackStats, ts);\r\n TrackStatsBuilder.buildJitter(trackStats, now);\r\n TrackStatsBuilder.buildAudioConcealment(trackStats, now);\r\n } else if (before) {\r\n byteSentStatsReport.set(trackStats.trackId, ValueFormatter.getNonNegativeValue(now.bytesSent));\r\n TrackStatsBuilder.buildBitrateSend(trackStats, now, before);\r\n }\r\n TrackStatsBuilder.buildCodec(this.currentStatsReport, trackStats, now);\r\n } else if (now.type === \"track\" && now.kind === \"video\" && !now.remoteSource) {\r\n const trackStats = this.trackStats.findLocalVideoTrackStats(now);\r\n if (!trackStats) {\r\n return;\r\n }\r\n TrackStatsBuilder.buildFramerateResolution(trackStats, now);\r\n TrackStatsBuilder.calculateSimulcastFramerate(\r\n trackStats,\r\n now,\r\n before,\r\n this.trackStats.mediaTrackHandler.getActiveSimulcastStreams(),\r\n );\r\n }\r\n });\r\n\r\n this.emitter.emitByteSendReport(byteSentStatsReport);\r\n this.emitter.emitCallFeedReport(\r\n CallFeedStatsReporter.buildCallFeedReport(this.callId, this.opponentMemberId, this.pc),\r\n );\r\n this.processAndEmitConnectionStatsReport();\r\n }\r\n\r\n public setActive(isActive: boolean): void {\r\n this.isActive = isActive;\r\n }\r\n\r\n public getActive(): boolean {\r\n return this.isActive;\r\n }\r\n\r\n private handleError(error: any): void {\r\n this.isActive = false;\r\n logger.warn(`CallStatsReportGatherer ${this.callId} processStatsReport fails and set to inactive ${error}`);\r\n }\r\n\r\n private processAndEmitConnectionStatsReport(): void {\r\n const report = ConnectionStatsReportBuilder.build(this.trackStats.getTrack2stats());\r\n report.callId = this.callId;\r\n report.opponentMemberId = this.opponentMemberId;\r\n\r\n this.connectionStats.bandwidth = report.bandwidth;\r\n this.connectionStats.bitrate = report.bitrate;\r\n this.connectionStats.packetLoss = report.packetLoss;\r\n\r\n this.emitter.emitConnectionStatsReport({\r\n ...report,\r\n transport: this.connectionStats.transport,\r\n });\r\n\r\n this.connectionStats.transport = [];\r\n }\r\n\r\n public stopProcessingStats(): void {}\r\n\r\n private onSignalStateChange(): void {\r\n if (this.pc.signalingState === \"stable\") {\r\n if (this.pc.currentRemoteDescription) {\r\n this.trackStats.mediaSsrcHandler.parse(this.pc.currentRemoteDescription.sdp, \"remote\");\r\n }\r\n if (this.pc.currentLocalDescription) {\r\n this.trackStats.mediaSsrcHandler.parse(this.pc.currentLocalDescription.sdp, \"local\");\r\n }\r\n }\r\n }\r\n\r\n public setOpponentMemberId(id: string): void {\r\n this.opponentMemberId = id;\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface CallStatsReportSummary {
|
|
2
|
+
receivedMedia: number;
|
|
3
|
+
receivedAudioMedia: number;
|
|
4
|
+
receivedVideoMedia: number;
|
|
5
|
+
audioTrackSummary: TrackSummary;
|
|
6
|
+
videoTrackSummary: TrackSummary;
|
|
7
|
+
isFirstCollection: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface TrackSummary {
|
|
10
|
+
count: number;
|
|
11
|
+
muted: number;
|
|
12
|
+
maxJitter: number;
|
|
13
|
+
maxPacketLoss: number;
|
|
14
|
+
concealedAudio: number;
|
|
15
|
+
totalAudio: number;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=callStatsReportSummary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callStatsReportSummary.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/callStatsReportSummary.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,sBAAsB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,YAAY,CAAC;IAChC,iBAAiB,EAAE,YAAY,CAAC;IAEhC,iBAAiB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callStatsReportSummary.js","names":[],"sources":["../../../src/webrtc/stats/callStatsReportSummary.ts"],"sourcesContent":["/*\r\nCopyright 2023 The Matrix.org Foundation C.I.C.\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 http://www.apache.org/licenses/LICENSE-2.0\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\nexport interface CallStatsReportSummary {\r\n receivedMedia: number;\r\n receivedAudioMedia: number;\r\n receivedVideoMedia: number;\r\n audioTrackSummary: TrackSummary;\r\n videoTrackSummary: TrackSummary;\r\n\r\n isFirstCollection: boolean;\r\n}\r\n\r\nexport interface TrackSummary {\r\n count: number;\r\n muted: number;\r\n maxJitter: number;\r\n maxPacketLoss: number;\r\n concealedAudio: number;\r\n totalAudio: number;\r\n}\r\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type TransportStats } from "./transportStats.ts";
|
|
2
|
+
import { type Bitrate } from "./media/mediaTrackStats.ts";
|
|
3
|
+
export interface ConnectionStatsBandwidth {
|
|
4
|
+
/**
|
|
5
|
+
* bytes per second
|
|
6
|
+
*/
|
|
7
|
+
download: number;
|
|
8
|
+
/**
|
|
9
|
+
* bytes per second
|
|
10
|
+
*/
|
|
11
|
+
upload: number;
|
|
12
|
+
}
|
|
13
|
+
export interface ConnectionStatsBitrate extends Bitrate {
|
|
14
|
+
audio?: Bitrate;
|
|
15
|
+
video?: Bitrate;
|
|
16
|
+
}
|
|
17
|
+
export interface PacketLoss {
|
|
18
|
+
total: number;
|
|
19
|
+
download: number;
|
|
20
|
+
upload: number;
|
|
21
|
+
}
|
|
22
|
+
export declare class ConnectionStats {
|
|
23
|
+
bandwidth: ConnectionStatsBitrate;
|
|
24
|
+
bitrate: ConnectionStatsBitrate;
|
|
25
|
+
packetLoss: PacketLoss;
|
|
26
|
+
transport: TransportStats[];
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=connectionStats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectionStats.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/connectionStats.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D,MAAM,WAAW,wBAAwB;IACrC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAuB,SAAQ,OAAO;IACnD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,eAAe;IACjB,SAAS,EAAE,sBAAsB,CAAgC;IACjE,OAAO,EAAE,sBAAsB,CAAgC;IAC/D,UAAU,EAAE,UAAU,CAAoB;IAC1C,SAAS,EAAE,cAAc,EAAE,CAAM;CAC3C"}
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
export class ConnectionStats {
|
|
19
|
+
constructor() {
|
|
20
|
+
_defineProperty(this, "bandwidth", {});
|
|
21
|
+
_defineProperty(this, "bitrate", {});
|
|
22
|
+
_defineProperty(this, "packetLoss", {});
|
|
23
|
+
_defineProperty(this, "transport", []);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=connectionStats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectionStats.js","names":["ConnectionStats","constructor","_defineProperty"],"sources":["../../../src/webrtc/stats/connectionStats.ts"],"sourcesContent":["/*\r\nCopyright 2023 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 TransportStats } from \"./transportStats.ts\";\r\nimport { type Bitrate } from \"./media/mediaTrackStats.ts\";\r\n\r\nexport interface ConnectionStatsBandwidth {\r\n /**\r\n * bytes per second\r\n */\r\n download: number;\r\n /**\r\n * bytes per second\r\n */\r\n upload: number;\r\n}\r\n\r\nexport interface ConnectionStatsBitrate extends Bitrate {\r\n audio?: Bitrate;\r\n video?: Bitrate;\r\n}\r\n\r\nexport interface PacketLoss {\r\n total: number;\r\n download: number;\r\n upload: number;\r\n}\r\n\r\nexport class ConnectionStats {\r\n public bandwidth: ConnectionStatsBitrate = {} as ConnectionStatsBitrate;\r\n public bitrate: ConnectionStatsBitrate = {} as ConnectionStatsBitrate;\r\n public packetLoss: PacketLoss = {} as PacketLoss;\r\n public transport: TransportStats[] = [];\r\n}\r\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA2BA,OAAO,MAAMA,eAAe,CAAC;EAAAC,YAAA;IAAAC,eAAA,oBACkB,CAAC,CAAC;IAAAA,eAAA,kBACJ,CAAC,CAAC;IAAAA,eAAA,qBACX,CAAC,CAAC;IAAAA,eAAA,oBACG,EAAE;EAAA;AAC3C","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectionStatsBuilder.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/connectionStatsBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D,qBAAa,sBAAsB;WACjB,oBAAoB,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO;CAS7E"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright 2023 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
|
+
export class ConnectionStatsBuilder {
|
|
18
|
+
static buildBandwidthReport(now) {
|
|
19
|
+
var availableIncomingBitrate = now.availableIncomingBitrate;
|
|
20
|
+
var availableOutgoingBitrate = now.availableOutgoingBitrate;
|
|
21
|
+
return {
|
|
22
|
+
download: availableIncomingBitrate ? Math.round(availableIncomingBitrate / 1000) : 0,
|
|
23
|
+
upload: availableOutgoingBitrate ? Math.round(availableOutgoingBitrate / 1000) : 0
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=connectionStatsBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectionStatsBuilder.js","names":["ConnectionStatsBuilder","buildBandwidthReport","now","availableIncomingBitrate","availableOutgoingBitrate","download","Math","round","upload"],"sources":["../../../src/webrtc/stats/connectionStatsBuilder.ts"],"sourcesContent":["/*\r\nCopyright 2023 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\nimport { type Bitrate } from \"./media/mediaTrackStats.ts\";\r\n\r\nexport class ConnectionStatsBuilder {\r\n public static buildBandwidthReport(now: RTCIceCandidatePairStats): Bitrate {\r\n const availableIncomingBitrate = now.availableIncomingBitrate;\r\n const availableOutgoingBitrate = now.availableOutgoingBitrate;\r\n\r\n return {\r\n download: availableIncomingBitrate ? Math.round(availableIncomingBitrate / 1000) : 0,\r\n upload: availableOutgoingBitrate ? Math.round(availableOutgoingBitrate / 1000) : 0,\r\n };\r\n }\r\n}\r\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAO,MAAMA,sBAAsB,CAAC;EAChC,OAAcC,oBAAoBA,CAACC,GAA6B,EAAW;IACvE,IAAMC,wBAAwB,GAAGD,GAAG,CAACC,wBAAwB;IAC7D,IAAMC,wBAAwB,GAAGF,GAAG,CAACE,wBAAwB;IAE7D,OAAO;MACHC,QAAQ,EAAEF,wBAAwB,GAAGG,IAAI,CAACC,KAAK,CAACJ,wBAAwB,GAAG,IAAI,CAAC,GAAG,CAAC;MACpFK,MAAM,EAAEJ,wBAAwB,GAAGE,IAAI,CAACC,KAAK,CAACH,wBAAwB,GAAG,IAAI,CAAC,GAAG;IACrF,CAAC;EACL;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ConnectionStatsReport, type TrackID } from "./statsReport.ts";
|
|
2
|
+
import { type MediaTrackStats } from "./media/mediaTrackStats.ts";
|
|
3
|
+
export declare class ConnectionStatsReportBuilder {
|
|
4
|
+
static build(stats: Map<TrackID, MediaTrackStats>): ConnectionStatsReport;
|
|
5
|
+
private static calculatePacketLoss;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=connectionStatsReportBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectionStatsReportBuilder.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/connectionStatsReportBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAGH,KAAK,qBAAqB,EAG1B,KAAK,OAAO,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,4BAA4B,CAAC;AAEnF,qBAAa,4BAA4B;WACvB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,GAAG,qBAAqB;IA0GhF,OAAO,CAAC,MAAM,CAAC,mBAAmB;CAOrC"}
|