@openclaw/matrix 2026.7.1-beta.1 → 2026.7.1-beta.4
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/dist/{account-selection-Bv_ZuOu4.js → account-selection-5e4mHR1m.js} +1 -1
- package/dist/api.js +5 -5
- package/dist/{approval-handler.runtime-GpL8SxX2.js → approval-handler.runtime-DI5x9r8I.js} +5 -5
- package/dist/{approval-ids-DIKCZewR.js → approval-ids-ZgqbspmS.js} +1 -1
- package/dist/{approval-reaction-auth-DhBxqiQQ.js → approval-reaction-auth-D9LijQhr.js} +2 -2
- package/dist/{approval-reactions-BRGQgOu2.js → approval-reactions-BdUaUXVw.js} +24 -73
- package/dist/auth-presence.js +1 -1
- package/dist/{channel-CGc6D4tf.js → channel-jUTBsjHU.js} +21 -23
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.runtime-CPu_uwsn.js → channel.runtime-DO1Nv9ed.js} +26 -17
- package/dist/{cli-BfwYmyEc.js → cli-CEfWwCKx.js} +10 -17
- package/dist/{cli-metadata-FO-fJqf0.js → cli-metadata-CfiEO-CE.js} +1 -1
- package/dist/cli-metadata.js +1 -1
- package/dist/{client-CVluBRDh.js → client-FRuyCNju.js} +2 -2
- package/dist/{client-bootstrap-1cbA9aSs.js → client-bootstrap-DjFJ7e0N.js} +6 -10
- package/dist/{client-Cb5ILtpE.js → client-tgnlQJk4.js} +2 -2
- package/dist/{config-schema-DFRmUTAG.js → config-schema-DtnhNYd-.js} +1 -1
- package/dist/contract-api.js +2 -2
- package/dist/{create-client-8YNurIAr.js → create-client-CNakT7zF.js} +7 -10
- package/dist/{credentials-G8lNmiME.js → credentials-Ds9V1mn2.js} +1 -1
- package/dist/{credentials-read-TzTOQPOM.js → credentials-read-BlkvsNFg.js} +1 -1
- package/dist/{credentials-write.runtime-cZhhyGAZ.js → credentials-write.runtime-CTqqxcut.js} +2 -5
- package/dist/{crypto-runtime-hMMmqNr1.js → crypto-runtime-B74cTS6A.js} +11 -9
- package/dist/{crypto-state-store-DK2tcEyP.js → crypto-state-store-Jy3qwhdy.js} +1 -1
- package/dist/{deps-D3bkh48_.js → deps-CdjHvnmh.js} +20 -2
- package/dist/{directory-live-pjbvjDz2.js → directory-live-Ufd4qSpX.js} +2 -2
- package/dist/{doctor-BRSDNU5C.js → doctor-DfaOqFtr.js} +3 -3
- package/dist/{doctor-contract-Dq8OZWHF.js → doctor-contract-BAja_fmb.js} +1 -1
- package/dist/doctor-contract-api.js +8 -14
- package/dist/{draft-stream-Djasj65z.js → draft-stream-D4EH25gv.js} +1 -1
- package/dist/{encryption-guidance-Bg3IRYoX.js → encryption-guidance-D8walY04.js} +1 -1
- package/dist/{file-sync-store-BWLVB01Y.js → file-sync-store-DVm0ACml.js} +3 -3
- package/dist/helper-api.js +1 -1
- package/dist/{idb-persistence-BGY1CJ7J.js → idb-persistence-BHm97th-.js} +1 -1
- package/dist/index.js +3 -6
- package/dist/{legacy-crypto-inspector-D_8iylBq.js → legacy-crypto-inspector-vzXSkm18.js} +1 -1
- package/dist/{legacy-crypto-restore-B0gcIEkE.js → legacy-crypto-restore-CIBfOmLn.js} +2 -2
- package/dist/{matrix-migration.runtime-Ctlb_rZl.js → matrix-migration.runtime-BMCyrANT.js} +3 -3
- package/dist/{media-text-CUFW_BP5.js → media-text-p-LP21qs.js} +1 -1
- package/dist/{messages-C1dIZHKy.js → messages-DRKkiEY-.js} +6 -5
- package/dist/{monitor-BMGnvIbg.js → monitor-CsGOGdwu.js} +89 -119
- package/dist/plugin-entry.handlers.runtime.js +2 -5
- package/dist/probe.runtime-2MZLc6ng.js +3 -0
- package/dist/{profile-update-BaEk4COs.js → profile-update-Ucc8RrJL.js} +2 -2
- package/dist/{reaction-events-n69MjKzG.js → reaction-events-DentrVii.js} +5 -12
- package/dist/{recovery-key-store-BGk8c_gf.js → recovery-key-store-DSeLFvNx.js} +1 -1
- package/dist/{resolve-targets-DyGW9WzC.js → resolve-targets-DcV_KfgX.js} +1 -1
- package/dist/{resolver.runtime-DhZV369r.js → resolver.runtime-Hr6bO5zl.js} +1 -1
- package/dist/runtime-api.js +2 -2
- package/dist/runtime-heavy-api.js +1 -1
- package/dist/{sdk-DOxaiBRE.js → sdk-AZYVl34z.js} +12 -13
- package/dist/{send-C0NwpZ-c.js → send-D92v6Yy0.js} +22 -12
- package/dist/session-binding-contract-api.js +1 -1
- package/dist/{setup-bootstrap-DbWPVINS.js → setup-bootstrap-Da564w5f.js} +2 -2
- package/dist/{setup-core-DVkrIoax.js → setup-core-BGgbrdaJ.js} +5 -8
- package/dist/setup-plugin-api.js +3 -3
- package/dist/{setup-surface-CN7DEvpg.js → setup-surface-iJ6pd-t5.js} +6 -6
- package/dist/{shared-iLI-9tb9.js → shared-DkFfq7mH.js} +16 -32
- package/dist/{startup-verification-Bd31KqLv.js → startup-verification-BKMAXvcV.js} +2 -2
- package/dist/{storage-t5S-5c_5.js → storage-CQdyKcGg.js} +5 -5
- package/dist/subagent-hooks-api.js +2 -5
- package/dist/{thread-bindings-D73QFTXW.js → thread-bindings-BX5nmWpw.js} +3 -3
- package/dist/{tool-actions.runtime-BCCPq_aO.js → tool-actions.runtime-C1d5fxE_.js} +12 -12
- package/dist/{verification-C0KvXyHK.js → verification-BGCMiO1p.js} +2 -2
- package/node_modules/@babel/runtime/package.json +468 -1089
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/.cargo/config.toml +2 -0
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/CHANGELOG.md +12 -3
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/README.md +17 -0
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/download-lib.js +10 -2
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/package.json +1 -1
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/xtask/.idea/modules.xml +8 -0
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/xtask/.idea/vcs.xml +6 -0
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/xtask/.idea/xtask.iml +11 -0
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/package.json +1 -1
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.cjs +28 -28
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.js +24 -24
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm +0 -0
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm.d.ts +58 -58
- package/node_modules/content-type/README.md +32 -57
- package/node_modules/content-type/dist/index.d.ts +26 -0
- package/node_modules/content-type/dist/index.js +170 -0
- package/node_modules/content-type/dist/index.js.map +1 -0
- package/node_modules/content-type/package.json +35 -25
- package/node_modules/linkify-it/README.md +3 -4
- package/node_modules/linkify-it/build/index.cjs.js +44 -41
- package/node_modules/linkify-it/index.mjs +10 -11
- package/node_modules/linkify-it/lib/re.mjs +34 -30
- package/node_modules/linkify-it/package.json +10 -15
- package/node_modules/markdown-it/dist/index.cjs.js +3652 -5378
- package/node_modules/markdown-it/dist/index.cjs.js.map +1 -0
- package/node_modules/markdown-it/dist/markdown-it.js +1399 -4479
- package/node_modules/markdown-it/dist/markdown-it.js.map +1 -0
- package/node_modules/markdown-it/dist/markdown-it.min.js +3 -2
- package/node_modules/markdown-it/dist/markdown-it.min.js.map +1 -0
- package/node_modules/markdown-it/lib/common/html_re.mjs +9 -9
- package/node_modules/markdown-it/lib/common/utils.mjs +2 -11
- package/node_modules/markdown-it/lib/parser_block.mjs +9 -9
- package/node_modules/markdown-it/lib/parser_core.mjs +7 -7
- package/node_modules/markdown-it/lib/parser_inline.mjs +16 -16
- package/node_modules/markdown-it/lib/renderer.mjs +2 -2
- package/node_modules/markdown-it/lib/rules_block/blockquote.mjs +6 -6
- package/node_modules/markdown-it/lib/rules_block/code.mjs +2 -2
- package/node_modules/markdown-it/lib/rules_block/fence.mjs +4 -4
- package/node_modules/markdown-it/lib/rules_block/heading.mjs +7 -7
- package/node_modules/markdown-it/lib/rules_block/hr.mjs +2 -2
- package/node_modules/markdown-it/lib/rules_block/html_block.mjs +6 -6
- package/node_modules/markdown-it/lib/rules_block/lheading.mjs +8 -8
- package/node_modules/markdown-it/lib/rules_block/list.mjs +6 -6
- package/node_modules/markdown-it/lib/rules_block/paragraph.mjs +5 -5
- package/node_modules/markdown-it/lib/rules_block/reference.mjs +1 -1
- package/node_modules/markdown-it/lib/rules_block/state_block.mjs +6 -6
- package/node_modules/markdown-it/lib/rules_block/table.mjs +4 -4
- package/node_modules/markdown-it/lib/rules_core/block.mjs +3 -3
- package/node_modules/markdown-it/lib/rules_core/linkify.mjs +15 -15
- package/node_modules/markdown-it/lib/rules_core/normalize.mjs +2 -2
- package/node_modules/markdown-it/lib/rules_inline/autolink.mjs +17 -17
- package/node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs +2 -2
- package/node_modules/markdown-it/lib/rules_inline/emphasis.mjs +8 -8
- package/node_modules/markdown-it/lib/rules_inline/entity.mjs +7 -7
- package/node_modules/markdown-it/lib/rules_inline/escape.mjs +15 -1
- package/node_modules/markdown-it/lib/rules_inline/html_inline.mjs +1 -1
- package/node_modules/markdown-it/lib/rules_inline/link.mjs +1 -1
- package/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +2 -2
- package/node_modules/markdown-it/lib/rules_inline/strikethrough.mjs +10 -10
- package/node_modules/markdown-it/lib/token.mjs +12 -12
- package/node_modules/markdown-it/package.json +25 -34
- package/node_modules/matrix-js-sdk/CHANGELOG.md +24 -0
- package/node_modules/matrix-js-sdk/README.md +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/AESEncryptedSecretStoragePayload.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/IIdentityServerProvider.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/PushRules.js +7 -7
- package/node_modules/matrix-js-sdk/lib/@types/PushRules.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/auth.js +4 -4
- package/node_modules/matrix-js-sdk/lib/@types/auth.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/beacon.js +2 -2
- package/node_modules/matrix-js-sdk/lib/@types/beacon.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/common.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/crypto.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/event.d.ts +6 -1
- package/node_modules/matrix-js-sdk/lib/@types/event.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/event.js +23 -20
- package/node_modules/matrix-js-sdk/lib/@types/event.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/events.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/extensible_events.js +6 -6
- package/node_modules/matrix-js-sdk/lib/@types/extensible_events.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/global.d.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/json.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/local_notifications.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/location.js +4 -4
- package/node_modules/matrix-js-sdk/lib/@types/location.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/matrix-sdk-crypto-wasm.d.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/media.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/membership.js +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/membership.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/partials.js +6 -6
- package/node_modules/matrix-js-sdk/lib/@types/partials.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/polls.js +5 -5
- package/node_modules/matrix-js-sdk/lib/@types/polls.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/read_receipts.js +2 -2
- package/node_modules/matrix-js-sdk/lib/@types/read_receipts.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/registration.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/requests.js +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/requests.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/retention.d.ts +15 -0
- package/node_modules/matrix-js-sdk/lib/@types/retention.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/@types/retention.js +13 -0
- package/node_modules/matrix-js-sdk/lib/@types/retention.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/@types/search.js +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/search.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/signed.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/spaces.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/state_events.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/synapse.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/sync.js +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/sync.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/threepids.js +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/threepids.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/topic.js +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/topic.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/uia.js +3 -1
- package/node_modules/matrix-js-sdk/lib/NamespacedValue.js +8 -8
- package/node_modules/matrix-js-sdk/lib/NamespacedValue.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/ReEmitter.js +8 -15
- package/node_modules/matrix-js-sdk/lib/ReEmitter.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/ToDeviceMessageQueue.js +47 -55
- package/node_modules/matrix-js-sdk/lib/ToDeviceMessageQueue.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/autodiscovery.js +233 -247
- package/node_modules/matrix-js-sdk/lib/autodiscovery.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/base64.js +1 -1
- package/node_modules/matrix-js-sdk/lib/base64.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/browser-index.d.ts +2 -2
- package/node_modules/matrix-js-sdk/lib/browser-index.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/browser-index.js +5 -5
- package/node_modules/matrix-js-sdk/lib/browser-index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/capabilityPoller.d.ts +38 -0
- package/node_modules/matrix-js-sdk/lib/capabilityPoller.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/capabilityPoller.js +93 -0
- package/node_modules/matrix-js-sdk/lib/capabilityPoller.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/client.d.ts +9 -8
- package/node_modules/matrix-js-sdk/lib/client.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/client.js +2123 -2483
- package/node_modules/matrix-js-sdk/lib/client.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/common-crypto/CryptoBackend.js +3 -1
- package/node_modules/matrix-js-sdk/lib/common-crypto/CryptoBackend.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/common-crypto/key-passphrase.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/content-helpers.js +43 -48
- package/node_modules/matrix-js-sdk/lib/content-helpers.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/content-repo.js +14 -24
- package/node_modules/matrix-js-sdk/lib/content-repo.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/base.js +6 -6
- package/node_modules/matrix-js-sdk/lib/crypto/store/base.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store-backend.js +189 -237
- package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store.js +25 -28
- package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/localStorage-crypto-store.js +113 -145
- package/node_modules/matrix-js-sdk/lib/crypto/store/localStorage-crypto-store.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/memory-crypto-store.js +74 -105
- package/node_modules/matrix-js-sdk/lib/crypto/store/memory-crypto-store.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/CryptoEvent.js +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/CryptoEvent.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/CryptoEventHandlerMap.js +3 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/index.d.ts +15 -6
- package/node_modules/matrix-js-sdk/lib/crypto-api/index.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/index.js +76 -76
- package/node_modules/matrix-js-sdk/lib/crypto-api/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/key-passphrase.js +15 -23
- package/node_modules/matrix-js-sdk/lib/crypto-api/key-passphrase.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/keybackup.js +3 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/recovery-key.js +11 -12
- package/node_modules/matrix-js-sdk/lib/crypto-api/recovery-key.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/verification.js +3 -3
- package/node_modules/matrix-js-sdk/lib/crypto-api/verification.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/digest.js +7 -14
- package/node_modules/matrix-js-sdk/lib/digest.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/embedded.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/embedded.js +379 -500
- package/node_modules/matrix-js-sdk/lib/embedded.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/errors.js +2 -2
- package/node_modules/matrix-js-sdk/lib/errors.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/event-mapper.js +10 -12
- package/node_modules/matrix-js-sdk/lib/event-mapper.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/InvalidEventError.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/MessageEvent.js +26 -28
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/MessageEvent.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollEndEvent.js +11 -12
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollEndEvent.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollResponseEvent.js +6 -6
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollResponseEvent.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollStartEvent.js +36 -38
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollStartEvent.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/utilities.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/feature.js +18 -31
- package/node_modules/matrix-js-sdk/lib/feature.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/filter-component.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/filter-component.js +20 -26
- package/node_modules/matrix-js-sdk/lib/filter-component.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/filter.js +14 -15
- package/node_modules/matrix-js-sdk/lib/filter.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/errors.js +41 -56
- package/node_modules/matrix-js-sdk/lib/http-api/errors.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/fetch.js +140 -157
- package/node_modules/matrix-js-sdk/lib/http-api/fetch.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/index.js +17 -20
- package/node_modules/matrix-js-sdk/lib/http-api/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/interface.js +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/interface.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/method.js +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/method.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/prefix.js +3 -3
- package/node_modules/matrix-js-sdk/lib/http-api/prefix.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/refresh.js +80 -99
- package/node_modules/matrix-js-sdk/lib/http-api/refresh.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/utils.d.ts +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/utils.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/utils.js +35 -47
- package/node_modules/matrix-js-sdk/lib/http-api/utils.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/indexeddb-helpers.js +3 -3
- package/node_modules/matrix-js-sdk/lib/indexeddb-helpers.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/indexeddb-worker.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/interactive-auth.d.ts +5 -5
- package/node_modules/matrix-js-sdk/lib/interactive-auth.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/interactive-auth.js +181 -203
- package/node_modules/matrix-js-sdk/lib/interactive-auth.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/logger.js +22 -56
- package/node_modules/matrix-js-sdk/lib/logger.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrix.d.ts +1 -0
- package/node_modules/matrix-js-sdk/lib/matrix.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrix.js +8 -11
- package/node_modules/matrix-js-sdk/lib/matrix.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/CallMembership.js +83 -76
- package/node_modules/matrix-js-sdk/lib/matrixrtc/CallMembership.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/EncryptionManager.js +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/EncryptionManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/IKeyTransport.js +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/IKeyTransport.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/IMembershipManager.js +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/IMembershipManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/LivekitTransport.d.ts +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/LivekitTransport.js +4 -4
- package/node_modules/matrix-js-sdk/lib/matrixrtc/LivekitTransport.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js +144 -184
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSessionManager.js +35 -39
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.d.ts +2 -0
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.js +346 -383
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManagerActionScheduler.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManagerActionScheduler.js +54 -59
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/RTCEncryptionManager.js +117 -139
- package/node_modules/matrix-js-sdk/lib/matrixrtc/RTCEncryptionManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/ToDeviceKeyTransport.js +49 -54
- package/node_modules/matrix-js-sdk/lib/matrixrtc/ToDeviceKeyTransport.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/common.js +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/common.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/rtc.js +15 -23
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/rtc.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/session.js +4 -5
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/session.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/types.js +4 -6
- package/node_modules/matrix-js-sdk/lib/matrixrtc/types.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/utils.js +4 -11
- package/node_modules/matrix-js-sdk/lib/matrixrtc/utils.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/MSC3089Branch.js +91 -116
- package/node_modules/matrix-js-sdk/lib/models/MSC3089Branch.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/MSC3089TreeSpace.js +209 -244
- package/node_modules/matrix-js-sdk/lib/models/MSC3089TreeSpace.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/ToDeviceMessage.js +3 -1
- package/node_modules/matrix-js-sdk/lib/models/beacon.js +20 -15
- package/node_modules/matrix-js-sdk/lib/models/beacon.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/compare-event-ordering.js +13 -13
- package/node_modules/matrix-js-sdk/lib/models/compare-event-ordering.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/device.js +10 -3
- package/node_modules/matrix-js-sdk/lib/models/device.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event-context.js +5 -7
- package/node_modules/matrix-js-sdk/lib/models/event-context.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event-status.js +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event-status.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event-timeline-set.js +91 -91
- package/node_modules/matrix-js-sdk/lib/models/event-timeline-set.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event-timeline.js +31 -29
- package/node_modules/matrix-js-sdk/lib/models/event-timeline.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event.js +215 -235
- package/node_modules/matrix-js-sdk/lib/models/event.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/invites-ignorer-types.js +4 -4
- package/node_modules/matrix-js-sdk/lib/models/invites-ignorer-types.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/invites-ignorer.js +159 -179
- package/node_modules/matrix-js-sdk/lib/models/invites-ignorer.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/poll.js +72 -78
- package/node_modules/matrix-js-sdk/lib/models/poll.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/profile-keys.js +2 -2
- package/node_modules/matrix-js-sdk/lib/models/profile-keys.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/read-receipt.js +40 -56
- package/node_modules/matrix-js-sdk/lib/models/read-receipt.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/related-relations.js +2 -0
- package/node_modules/matrix-js-sdk/lib/models/related-relations.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/relations-container.js +20 -21
- package/node_modules/matrix-js-sdk/lib/models/relations-container.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/relations.js +131 -156
- package/node_modules/matrix-js-sdk/lib/models/relations.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-member.js +44 -27
- package/node_modules/matrix-js-sdk/lib/models/room-member.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-receipts.js +48 -55
- package/node_modules/matrix-js-sdk/lib/models/room-receipts.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-retention.d.ts +28 -0
- package/node_modules/matrix-js-sdk/lib/models/room-retention.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/models/room-retention.js +192 -0
- package/node_modules/matrix-js-sdk/lib/models/room-retention.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/models/room-state.js +141 -170
- package/node_modules/matrix-js-sdk/lib/models/room-state.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-sticky-events.d.ts +1 -0
- package/node_modules/matrix-js-sdk/lib/models/room-sticky-events.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-sticky-events.js +46 -65
- package/node_modules/matrix-js-sdk/lib/models/room-sticky-events.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-summary.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room.d.ts +2 -1
- package/node_modules/matrix-js-sdk/lib/models/room.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room.js +800 -887
- package/node_modules/matrix-js-sdk/lib/models/room.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/search-result.js +5 -5
- package/node_modules/matrix-js-sdk/lib/models/search-result.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/thread.js +267 -283
- package/node_modules/matrix-js-sdk/lib/models/thread.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/typed-event-emitter.js +7 -18
- package/node_modules/matrix-js-sdk/lib/models/typed-event-emitter.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/user.js +26 -7
- package/node_modules/matrix-js-sdk/lib/models/user.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oidc/authorize.js +208 -241
- package/node_modules/matrix-js-sdk/lib/oidc/authorize.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oidc/discovery.js +23 -36
- package/node_modules/matrix-js-sdk/lib/oidc/discovery.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oidc/error.js +1 -1
- package/node_modules/matrix-js-sdk/lib/oidc/error.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oidc/index.js +1 -0
- package/node_modules/matrix-js-sdk/lib/oidc/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oidc/register.js +60 -66
- package/node_modules/matrix-js-sdk/lib/oidc/register.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oidc/tokenRefresher.js +83 -94
- package/node_modules/matrix-js-sdk/lib/oidc/tokenRefresher.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oidc/validate.js +18 -18
- package/node_modules/matrix-js-sdk/lib/oidc/validate.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/pushprocessor.js +70 -81
- package/node_modules/matrix-js-sdk/lib/pushprocessor.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/randomstring.js +9 -9
- package/node_modules/matrix-js-sdk/lib/randomstring.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/realtime-callbacks.js +25 -28
- package/node_modules/matrix-js-sdk/lib/realtime-callbacks.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/receipt-accumulator.d.ts +2 -0
- package/node_modules/matrix-js-sdk/lib/receipt-accumulator.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/receipt-accumulator.js +14 -22
- package/node_modules/matrix-js-sdk/lib/receipt-accumulator.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/MSC4108SignInWithQR.js +272 -298
- package/node_modules/matrix-js-sdk/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousChannel.js +3 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousCode.js +3 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousError.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousFailureReason.js +2 -2
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousFailureReason.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousIntent.js +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousIntent.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousTransport.js +3 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/channels/MSC4108SecureChannel.js +122 -144
- package/node_modules/matrix-js-sdk/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/index.js +44 -69
- package/node_modules/matrix-js-sdk/lib/rendezvous/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/transports/MSC4108RendezvousSession.js +142 -152
- package/node_modules/matrix-js-sdk/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/retentionPolicy.d.ts +33 -0
- package/node_modules/matrix-js-sdk/lib/retentionPolicy.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/retentionPolicy.js +39 -0
- package/node_modules/matrix-js-sdk/lib/retentionPolicy.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/room-hierarchy.js +52 -56
- package/node_modules/matrix-js-sdk/lib/room-hierarchy.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/CrossSigningIdentity.js +94 -104
- package/node_modules/matrix-js-sdk/lib/rust-crypto/CrossSigningIdentity.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/DehydratedDeviceManager.js +158 -190
- package/node_modules/matrix-js-sdk/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/KeyClaimManager.js +17 -20
- package/node_modules/matrix-js-sdk/lib/rust-crypto/KeyClaimManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestProcessor.js +109 -139
- package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestsManager.js +72 -86
- package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/PerSessionKeyBackupDownloader.js +195 -221
- package/node_modules/matrix-js-sdk/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/RoomEncryptor.js +121 -137
- package/node_modules/matrix-js-sdk/lib/rust-crypto/RoomEncryptor.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.d.ts +7 -2
- package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.js +459 -544
- package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/constants.js +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/constants.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/device-converter.js +15 -28
- package/node_modules/matrix-js-sdk/lib/rust-crypto/device-converter.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/index.js +103 -116
- package/node_modules/matrix-js-sdk/lib/rust-crypto/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/libolm_migration.js +303 -365
- package/node_modules/matrix-js-sdk/lib/rust-crypto/libolm_migration.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.d.ts +5 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.js +1065 -1322
- package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/secret-storage.js +12 -25
- package/node_modules/matrix-js-sdk/lib/rust-crypto/secret-storage.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/verification.js +134 -184
- package/node_modules/matrix-js-sdk/lib/rust-crypto/verification.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/scheduler.js +42 -17
- package/node_modules/matrix-js-sdk/lib/scheduler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/secret-storage.js +179 -213
- package/node_modules/matrix-js-sdk/lib/secret-storage.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/serverCapabilities.d.ts +4 -23
- package/node_modules/matrix-js-sdk/lib/serverCapabilities.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/serverCapabilities.js +9 -62
- package/node_modules/matrix-js-sdk/lib/serverCapabilities.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/service-types.js +1 -1
- package/node_modules/matrix-js-sdk/lib/service-types.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js +368 -421
- package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sliding-sync.js +136 -167
- package/node_modules/matrix-js-sdk/lib/sliding-sync.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/index.d.ts +7 -0
- package/node_modules/matrix-js-sdk/lib/store/index.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/index.js +3 -1
- package/node_modules/matrix-js-sdk/lib/store/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-backend.js +3 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.d.ts +1 -0
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.js +197 -240
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-remote-backend.d.ts +3 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-remote-backend.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-remote-backend.js +51 -59
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-remote-backend.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-store-worker.js +22 -22
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-store-worker.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb.d.ts +7 -5
- package/node_modules/matrix-js-sdk/lib/store/indexeddb.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb.js +63 -79
- package/node_modules/matrix-js-sdk/lib/store/indexeddb.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/local-storage-events-emitter.js +2 -2
- package/node_modules/matrix-js-sdk/lib/store/local-storage-events-emitter.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/memory.d.ts +1 -0
- package/node_modules/matrix-js-sdk/lib/store/memory.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/memory.js +38 -54
- package/node_modules/matrix-js-sdk/lib/store/memory.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/stub.d.ts +1 -0
- package/node_modules/matrix-js-sdk/lib/store/stub.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/stub.js +22 -32
- package/node_modules/matrix-js-sdk/lib/store/stub.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sync-accumulator.d.ts +1 -0
- package/node_modules/matrix-js-sdk/lib/sync-accumulator.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sync-accumulator.js +57 -65
- package/node_modules/matrix-js-sdk/lib/sync-accumulator.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sync.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sync.js +914 -991
- package/node_modules/matrix-js-sdk/lib/sync.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/testing.js +63 -105
- package/node_modules/matrix-js-sdk/lib/testing.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/thread-utils.js +1 -4
- package/node_modules/matrix-js-sdk/lib/thread-utils.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/timeline-window.js +90 -99
- package/node_modules/matrix-js-sdk/lib/timeline-window.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/types.js +1 -1
- package/node_modules/matrix-js-sdk/lib/types.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/utils/decryptAESSecretStorageItem.js +14 -25
- package/node_modules/matrix-js-sdk/lib/utils/decryptAESSecretStorageItem.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/utils/encryptAESSecretStorageItem.js +27 -38
- package/node_modules/matrix-js-sdk/lib/utils/encryptAESSecretStorageItem.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/utils/internal/deriveKeys.js +25 -32
- package/node_modules/matrix-js-sdk/lib/utils/internal/deriveKeys.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/utils/roomVersion.js +1 -1
- package/node_modules/matrix-js-sdk/lib/utils/roomVersion.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/utils.js +83 -135
- package/node_modules/matrix-js-sdk/lib/utils.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/version-support.js +3 -3
- package/node_modules/matrix-js-sdk/lib/version-support.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/audioContext.js +5 -6
- package/node_modules/matrix-js-sdk/lib/webrtc/audioContext.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/call.js +1123 -1256
- package/node_modules/matrix-js-sdk/lib/webrtc/call.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/callEventHandler.js +207 -214
- package/node_modules/matrix-js-sdk/lib/webrtc/callEventHandler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/callEventTypes.js +2 -2
- package/node_modules/matrix-js-sdk/lib/webrtc/callEventTypes.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/callFeed.js +33 -20
- package/node_modules/matrix-js-sdk/lib/webrtc/callFeed.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/groupCall.js +521 -594
- package/node_modules/matrix-js-sdk/lib/webrtc/groupCall.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/groupCallEventHandler.js +58 -61
- package/node_modules/matrix-js-sdk/lib/webrtc/groupCallEventHandler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/mediaHandler.js +203 -233
- package/node_modules/matrix-js-sdk/lib/webrtc/mediaHandler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/callFeedStatsReporter.js +16 -20
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/callStatsReportGatherer.js +65 -70
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/callStatsReportSummary.js +3 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStats.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStatsBuilder.js +2 -2
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStatsReportBuilder.js +20 -24
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/groupCallStats.js +4 -5
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/groupCallStats.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaSsrcHandler.js +7 -8
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackHandler.js +7 -9
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackStatsHandler.js +6 -6
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/statsReport.js +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/statsReport.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/statsReportEmitter.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/summaryStatsReportGatherer.js +14 -14
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/summaryStatsReportGatherer.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/trackStatsBuilder.js +32 -34
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/trackStatsBuilder.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/transportStats.js +3 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/transportStatsBuilder.js +9 -9
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/transportStatsBuilder.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/valueFormatter.js +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/valueFormatter.js.map +1 -1
- package/node_modules/matrix-js-sdk/package.json +110 -138
- package/node_modules/matrix-js-sdk/src/@types/event.ts +9 -0
- package/node_modules/matrix-js-sdk/src/@types/global.d.ts +2 -2
- package/node_modules/matrix-js-sdk/src/@types/retention.ts +16 -0
- package/node_modules/matrix-js-sdk/src/ToDeviceMessageQueue.ts +2 -2
- package/node_modules/matrix-js-sdk/src/browser-index.ts +4 -4
- package/node_modules/matrix-js-sdk/src/capabilityPoller.ts +102 -0
- package/node_modules/matrix-js-sdk/src/client.ts +37 -25
- package/node_modules/matrix-js-sdk/src/crypto-api/index.ts +17 -6
- package/node_modules/matrix-js-sdk/src/embedded.ts +4 -6
- package/node_modules/matrix-js-sdk/src/filter-component.ts +1 -0
- package/node_modules/matrix-js-sdk/src/http-api/utils.ts +5 -10
- package/node_modules/matrix-js-sdk/src/interactive-auth.ts +11 -5
- package/node_modules/matrix-js-sdk/src/matrix.ts +1 -0
- package/node_modules/matrix-js-sdk/src/matrixrtc/LivekitTransport.ts +1 -1
- package/node_modules/matrix-js-sdk/src/matrixrtc/MatrixRTCSession.ts +5 -4
- package/node_modules/matrix-js-sdk/src/matrixrtc/MembershipManager.ts +2 -0
- package/node_modules/matrix-js-sdk/src/matrixrtc/MembershipManagerActionScheduler.ts +4 -1
- package/node_modules/matrix-js-sdk/src/models/MSC3089Branch.ts +1 -1
- package/node_modules/matrix-js-sdk/src/models/room-retention.ts +230 -0
- package/node_modules/matrix-js-sdk/src/models/room-sticky-events.ts +1 -0
- package/node_modules/matrix-js-sdk/src/models/room.ts +26 -12
- package/node_modules/matrix-js-sdk/src/receipt-accumulator.ts +2 -0
- package/node_modules/matrix-js-sdk/src/rendezvous/index.ts +1 -1
- package/node_modules/matrix-js-sdk/src/rendezvous/transports/MSC4108RendezvousSession.ts +2 -2
- package/node_modules/matrix-js-sdk/src/retentionPolicy.ts +65 -0
- package/node_modules/matrix-js-sdk/src/rust-crypto/PerSessionKeyBackupDownloader.ts +1 -1
- package/node_modules/matrix-js-sdk/src/rust-crypto/backup.ts +15 -4
- package/node_modules/matrix-js-sdk/src/rust-crypto/index.ts +6 -6
- package/node_modules/matrix-js-sdk/src/rust-crypto/rust-crypto.ts +31 -7
- package/node_modules/matrix-js-sdk/src/rust-crypto/verification.ts +1 -1
- package/node_modules/matrix-js-sdk/src/serverCapabilities.ts +8 -67
- package/node_modules/matrix-js-sdk/src/sliding-sync-sdk.ts +5 -7
- package/node_modules/matrix-js-sdk/src/store/index.ts +8 -0
- package/node_modules/matrix-js-sdk/src/store/indexeddb-local-backend.ts +12 -2
- package/node_modules/matrix-js-sdk/src/store/indexeddb-remote-backend.ts +24 -5
- package/node_modules/matrix-js-sdk/src/store/indexeddb.ts +20 -8
- package/node_modules/matrix-js-sdk/src/store/memory.ts +4 -0
- package/node_modules/matrix-js-sdk/src/store/stub.ts +3 -0
- package/node_modules/matrix-js-sdk/src/sync-accumulator.ts +9 -0
- package/node_modules/matrix-js-sdk/src/sync.ts +11 -9
- package/node_modules/media-typer/README.md +19 -33
- package/node_modules/media-typer/dist/index.d.ts +29 -0
- package/node_modules/media-typer/dist/index.js +64 -0
- package/node_modules/media-typer/dist/index.js.map +1 -0
- package/node_modules/media-typer/package.json +37 -22
- package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.js +2 -2
- package/node_modules/music-metadata/lib/mp4/AtomToken.js +65 -13
- package/node_modules/music-metadata/lib/wav/WaveChunk.d.ts +10 -0
- package/node_modules/music-metadata/lib/wav/WaveChunk.js +13 -3
- package/node_modules/music-metadata/lib/wav/WaveParser.d.ts +1 -0
- package/node_modules/music-metadata/lib/wav/WaveParser.js +6 -5
- package/node_modules/music-metadata/package.json +5 -5
- package/node_modules/typebox/build/compile/validator.d.mts +2 -7
- package/node_modules/typebox/build/compile/validator.mjs +6 -36
- package/node_modules/typebox/build/error/errors.d.mts +1 -7
- package/node_modules/typebox/build/format/_idna.mjs +36 -6
- package/node_modules/typebox/build/format/_puny.mjs +4 -1
- package/node_modules/typebox/build/format/uuid.d.mts +2 -2
- package/node_modules/typebox/build/format/uuid.mjs +3 -3
- package/node_modules/typebox/build/guard/emit.d.mts +0 -4
- package/node_modules/typebox/build/guard/emit.mjs +0 -8
- package/node_modules/typebox/build/guard/guard.d.mts +4 -8
- package/node_modules/typebox/build/guard/guard.mjs +5 -13
- package/node_modules/typebox/build/schema/engine/boolean.d.mts +3 -3
- package/node_modules/typebox/build/schema/engine/boolean.mjs +4 -4
- package/node_modules/typebox/build/schema/engine/index.d.mts +0 -1
- package/node_modules/typebox/build/schema/engine/index.mjs +0 -1
- package/node_modules/typebox/build/schema/engine/schema.mjs +5 -10
- package/node_modules/typebox/build/schema/engine/type.mjs +14 -18
- package/node_modules/typebox/build/schema/types/dependencies.mjs +1 -1
- package/node_modules/typebox/build/schema/types/index.d.mts +0 -1
- package/node_modules/typebox/build/schema/types/index.mjs +0 -1
- package/node_modules/typebox/build/schema/types/schema.d.mts +1 -1
- package/node_modules/typebox/build/schema/types/schema.mjs +2 -2
- package/node_modules/typebox/build/system/locale/ar_001.mjs +0 -1
- package/node_modules/typebox/build/system/locale/bn_BD.mjs +0 -1
- package/node_modules/typebox/build/system/locale/cs_CZ.mjs +0 -1
- package/node_modules/typebox/build/system/locale/de_DE.mjs +0 -1
- package/node_modules/typebox/build/system/locale/el_GR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/en_US.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_419.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_AR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_ES.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_MX.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fa_IR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fil_PH.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fr_CA.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fr_FR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ha_NG.mjs +0 -1
- package/node_modules/typebox/build/system/locale/hi_IN.mjs +0 -1
- package/node_modules/typebox/build/system/locale/hu_HU.mjs +0 -1
- package/node_modules/typebox/build/system/locale/id_ID.mjs +0 -1
- package/node_modules/typebox/build/system/locale/it_IT.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ja_JP.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ko_KR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ms_MY.mjs +0 -1
- package/node_modules/typebox/build/system/locale/nl_NL.mjs +0 -1
- package/node_modules/typebox/build/system/locale/pl_PL.mjs +0 -1
- package/node_modules/typebox/build/system/locale/pt_BR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/pt_PT.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ro_RO.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ru_RU.mjs +0 -1
- package/node_modules/typebox/build/system/locale/sv_SE.mjs +0 -1
- package/node_modules/typebox/build/system/locale/sw_TZ.mjs +0 -1
- package/node_modules/typebox/build/system/locale/th_TH.mjs +0 -1
- package/node_modules/typebox/build/system/locale/tr_TR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/uk_UA.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ur_PK.mjs +0 -1
- package/node_modules/typebox/build/system/locale/vi_VN.mjs +0 -1
- package/node_modules/typebox/build/system/locale/yo_NG.mjs +0 -1
- package/node_modules/typebox/build/system/locale/zh_Hans.mjs +0 -1
- package/node_modules/typebox/build/system/locale/zh_Hant.mjs +0 -1
- package/node_modules/typebox/build/system/memory/clone.d.mts +2 -3
- package/node_modules/typebox/build/system/memory/clone.mjs +73 -26
- package/node_modules/typebox/build/system/settings/settings.d.mts +15 -0
- package/node_modules/typebox/build/system/settings/settings.mjs +3 -1
- package/node_modules/typebox/build/type/action/_add_immutable.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_add_immutable.mjs +11 -0
- package/node_modules/typebox/build/type/action/_add_optional.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_add_optional.mjs +11 -0
- package/node_modules/typebox/build/type/action/_add_readonly.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_add_readonly.mjs +11 -0
- package/node_modules/typebox/build/type/action/_remove_immutable.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_remove_immutable.mjs +11 -0
- package/node_modules/typebox/build/type/action/_remove_optional.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_remove_optional.mjs +11 -0
- package/node_modules/typebox/build/type/action/_remove_readonly.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_remove_readonly.mjs +11 -0
- package/node_modules/typebox/build/type/action/conditional.d.mts +2 -3
- package/node_modules/typebox/build/type/action/conditional.mjs +2 -1
- package/node_modules/typebox/build/type/action/index.d.mts +7 -4
- package/node_modules/typebox/build/type/action/index.mjs +7 -4
- package/node_modules/typebox/build/type/action/mapped.d.mts +2 -3
- package/node_modules/typebox/build/type/action/mapped.mjs +2 -1
- package/node_modules/typebox/build/type/action/module.d.mts +8 -7
- package/node_modules/typebox/build/type/action/module.mjs +7 -6
- package/node_modules/typebox/build/type/action/readonly_object.d.mts +0 -5
- package/node_modules/typebox/build/type/action/readonly_object.mjs +0 -5
- package/node_modules/typebox/build/type/action/with.d.mts +11 -0
- package/node_modules/typebox/build/type/action/with.mjs +11 -0
- package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +1 -1
- package/node_modules/typebox/build/type/engine/call/instantiate.d.mts +1 -3
- package/node_modules/typebox/build/type/engine/call/instantiate.mjs +3 -2
- package/node_modules/typebox/build/type/engine/call/resolve_arguments.mjs +2 -2
- package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.d.mts +3 -4
- package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.mjs +2 -1
- package/node_modules/typebox/build/type/engine/cyclic/candidates.d.mts +2 -3
- package/node_modules/typebox/build/type/engine/cyclic/candidates.mjs +3 -6
- package/node_modules/typebox/build/type/engine/cyclic/check.d.mts +6 -9
- package/node_modules/typebox/build/type/engine/cyclic/check.mjs +10 -16
- package/node_modules/typebox/build/type/engine/cyclic/dependencies.d.mts +1 -4
- package/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs +9 -15
- package/node_modules/typebox/build/type/engine/cyclic/extends.d.mts +1 -4
- package/node_modules/typebox/build/type/engine/cyclic/extends.mjs +8 -14
- package/node_modules/typebox/build/type/engine/cyclic/instantiate.d.mts +2 -5
- package/node_modules/typebox/build/type/engine/cyclic/instantiate.mjs +3 -2
- package/node_modules/typebox/build/type/engine/enum/index.d.mts +0 -1
- package/node_modules/typebox/build/type/engine/enum/index.mjs +0 -1
- package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +1 -2
- package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +2 -6
- package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +10 -6
- package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +10 -6
- package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +2 -1
- package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +3 -3
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +17 -5
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +34 -8
- package/node_modules/typebox/build/type/engine/exclude/operation.d.mts +5 -6
- package/node_modules/typebox/build/type/engine/exclude/operation.mjs +11 -12
- package/node_modules/typebox/build/type/engine/extract/operation.d.mts +5 -6
- package/node_modules/typebox/build/type/engine/extract/operation.mjs +11 -12
- package/node_modules/typebox/build/type/engine/immutable/instantiate_add.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/immutable/instantiate_add.mjs +14 -0
- package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.mjs +14 -0
- package/node_modules/typebox/build/type/engine/index.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/index.mjs +2 -2
- package/node_modules/typebox/build/type/engine/indexable/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/indexable/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/indexable/from_enum.d.mts +3 -3
- package/node_modules/typebox/build/type/engine/indexable/from_enum.mjs +4 -4
- package/node_modules/typebox/build/type/engine/indexable/from_template_literal.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/indexable/from_template_literal.mjs +3 -3
- package/node_modules/typebox/build/type/engine/indexable/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/indexable/from_type.mjs +9 -6
- package/node_modules/typebox/build/type/engine/indexed/instantiate.d.mts +2 -1
- package/node_modules/typebox/build/type/engine/indexed/instantiate.mjs +5 -2
- package/node_modules/typebox/build/type/engine/instantiate.d.mts +44 -31
- package/node_modules/typebox/build/type/engine/instantiate.mjs +82 -83
- package/node_modules/typebox/build/type/engine/interface/instantiate.d.mts +3 -6
- package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.mjs +3 -3
- package/node_modules/typebox/build/type/engine/keyof/instantiate.d.mts +2 -1
- package/node_modules/typebox/build/type/engine/keyof/instantiate.mjs +5 -1
- package/node_modules/typebox/build/type/engine/mapped/mapped_operation.d.mts +4 -4
- package/node_modules/typebox/build/type/engine/mapped/mapped_operation.mjs +3 -3
- package/node_modules/typebox/build/type/engine/mapped/mapped_variants.d.mts +5 -4
- package/node_modules/typebox/build/type/engine/mapped/mapped_variants.mjs +10 -5
- package/node_modules/typebox/build/type/engine/module/instantiate.d.mts +7 -9
- package/node_modules/typebox/build/type/engine/module/instantiate.mjs +17 -15
- package/node_modules/typebox/build/type/engine/object/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/object/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/object/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/object/from_type.mjs +8 -5
- package/node_modules/typebox/build/type/engine/object/from_union.mjs +2 -2
- package/node_modules/typebox/build/type/engine/optional/instantiate_add.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/optional/instantiate_add.mjs +14 -0
- package/node_modules/typebox/build/type/engine/optional/instantiate_remove.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/optional/instantiate_remove.mjs +14 -0
- package/node_modules/typebox/build/type/engine/parameters/instantiate.d.mts +3 -4
- package/node_modules/typebox/build/type/engine/parameters/instantiate.mjs +2 -1
- package/node_modules/typebox/build/type/engine/partial/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/partial/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/partial/from_intersect.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/partial/from_intersect.mjs +3 -2
- package/node_modules/typebox/build/type/engine/partial/from_object.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/partial/from_object.mjs +2 -2
- package/node_modules/typebox/build/type/engine/partial/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/partial/from_type.mjs +7 -4
- package/node_modules/typebox/build/type/engine/priority/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/priority/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/priority/priority.d.mts +20 -0
- package/node_modules/typebox/build/type/engine/priority/priority.mjs +28 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_add.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_add.mjs +14 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.mjs +14 -0
- package/node_modules/typebox/build/type/engine/readonly_object/from_array.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_array.mjs +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.mjs +3 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_object.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_object.mjs +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.mjs +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/readonly_object/from_type.mjs +8 -5
- package/node_modules/typebox/build/type/engine/record/from_key_enum.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/record/from_key_enum.mjs +2 -2
- package/node_modules/typebox/build/type/engine/record/from_key_template_literal.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/record/from_key_template_literal.mjs +2 -2
- package/node_modules/typebox/build/type/engine/ref/instantiate.d.mts +3 -3
- package/node_modules/typebox/build/type/engine/ref/instantiate.mjs +6 -6
- package/node_modules/typebox/build/type/engine/required/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/required/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/required/from_intersect.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/required/from_intersect.mjs +3 -2
- package/node_modules/typebox/build/type/engine/required/from_object.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/required/from_object.mjs +2 -2
- package/node_modules/typebox/build/type/engine/required/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/required/from_type.mjs +7 -4
- package/node_modules/typebox/build/type/engine/template_literal/decode.mjs +3 -3
- package/node_modules/typebox/build/type/engine/template_literal/encode.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/template_literal/encode.mjs +6 -6
- package/node_modules/typebox/build/type/engine/template_literal/is_finite.mjs +1 -1
- package/node_modules/typebox/build/type/engine/template_literal/is_pattern.mjs +1 -0
- package/node_modules/typebox/build/type/engine/this/expand_this.d.mts +1 -4
- package/node_modules/typebox/build/type/engine/this/expand_this.mjs +7 -13
- package/node_modules/typebox/build/type/engine/with/instantiate.d.mts +8 -0
- package/node_modules/typebox/build/type/engine/{options → with}/instantiate.mjs +5 -5
- package/node_modules/typebox/build/type/extends/dependent.d.mts +6 -0
- package/node_modules/typebox/build/type/extends/dependent.mjs +6 -0
- package/node_modules/typebox/build/type/extends/enum.d.mts +4 -4
- package/node_modules/typebox/build/type/extends/enum.mjs +3 -2
- package/node_modules/typebox/build/type/extends/extends_left.d.mts +5 -7
- package/node_modules/typebox/build/type/extends/extends_left.mjs +24 -27
- package/node_modules/typebox/build/type/extends/extends_right.d.mts +7 -5
- package/node_modules/typebox/build/type/extends/extends_right.mjs +20 -15
- package/node_modules/typebox/build/type/extends/inference.mjs +1 -1
- package/node_modules/typebox/build/type/extends/object.d.mts +8 -1
- package/node_modules/typebox/build/type/extends/object.mjs +25 -3
- package/node_modules/typebox/build/type/extends/parameters.mjs +2 -2
- package/node_modules/typebox/build/type/extends/record.d.mts +13 -0
- package/node_modules/typebox/build/type/extends/record.mjs +23 -0
- package/node_modules/typebox/build/type/extends/template_literal.d.mts +3 -3
- package/node_modules/typebox/build/type/extends/template_literal.mjs +3 -3
- package/node_modules/typebox/build/type/extends/tuple.d.mts +3 -6
- package/node_modules/typebox/build/type/extends/tuple.mjs +6 -5
- package/node_modules/typebox/build/type/extends/union.mjs +2 -2
- package/node_modules/typebox/build/type/script/mapping.d.mts +84 -99
- package/node_modules/typebox/build/type/script/mapping.mjs +81 -85
- package/node_modules/typebox/build/type/script/parser.d.mts +40 -40
- package/node_modules/typebox/build/type/script/parser.mjs +22 -22
- package/node_modules/typebox/build/type/script/script.d.mts +3 -4
- package/node_modules/typebox/build/type/script/script.mjs +3 -2
- package/node_modules/typebox/build/type/script/token/internal/guard.d.mts +1 -1
- package/node_modules/typebox/build/type/script/token/internal/guard.mjs +1 -1
- package/node_modules/typebox/build/type/script/token/internal/take.mjs +1 -1
- package/node_modules/typebox/build/type/script/token/until.mjs +2 -2
- package/node_modules/typebox/build/type/types/_codec.d.mts +12 -12
- package/node_modules/typebox/build/type/types/_codec.mjs +0 -1
- package/node_modules/typebox/build/type/types/_immutable.d.mts +2 -9
- package/node_modules/typebox/build/type/types/_immutable.mjs +2 -10
- package/node_modules/typebox/build/type/types/_optional.d.mts +2 -9
- package/node_modules/typebox/build/type/types/_optional.mjs +2 -11
- package/node_modules/typebox/build/type/types/_readonly.d.mts +2 -9
- package/node_modules/typebox/build/type/types/_readonly.mjs +2 -10
- package/node_modules/typebox/build/type/types/_refine.d.mts +8 -10
- package/node_modules/typebox/build/type/types/_refine.mjs +1 -2
- package/node_modules/typebox/build/type/types/call.d.mts +3 -3
- package/node_modules/typebox/build/type/types/call.mjs +3 -2
- package/node_modules/typebox/build/type/types/deferred.d.mts +1 -0
- package/node_modules/typebox/build/type/types/deferred.mjs +1 -1
- package/node_modules/typebox/build/type/types/dependent.d.mts +17 -0
- package/node_modules/typebox/build/type/types/dependent.mjs +24 -0
- package/node_modules/typebox/build/type/types/enum.d.mts +3 -1
- package/node_modules/typebox/build/type/types/enum.mjs +5 -0
- package/node_modules/typebox/build/type/types/index.d.mts +1 -4
- package/node_modules/typebox/build/type/types/index.mjs +1 -4
- package/node_modules/typebox/build/type/types/number.d.mts +1 -1
- package/node_modules/typebox/build/type/types/number.mjs +1 -1
- package/node_modules/typebox/build/type/types/record.d.mts +13 -7
- package/node_modules/typebox/build/type/types/record.mjs +15 -9
- package/node_modules/typebox/build/type/types/static.d.mts +2 -5
- package/node_modules/typebox/build/typebox.d.mts +4 -8
- package/node_modules/typebox/build/typebox.mjs +4 -8
- package/node_modules/typebox/build/value/clean/clean.mjs +4 -2
- package/node_modules/typebox/build/value/clean/from_intersect.mjs +2 -2
- package/node_modules/typebox/build/value/clean/from_type.mjs +8 -10
- package/node_modules/typebox/build/value/clean/from_union.d.mts +1 -1
- package/node_modules/typebox/build/value/clean/from_union.mjs +1 -2
- package/node_modules/typebox/build/value/clone/clone.mjs +2 -73
- package/node_modules/typebox/build/value/codec/decode.mjs +4 -2
- package/node_modules/typebox/build/value/codec/encode.mjs +4 -2
- package/node_modules/typebox/build/value/codec/from_array.mjs +1 -4
- package/node_modules/typebox/build/value/codec/from_object.mjs +1 -4
- package/node_modules/typebox/build/value/codec/from_record.mjs +2 -7
- package/node_modules/typebox/build/value/codec/from_tuple.mjs +1 -4
- package/node_modules/typebox/build/value/codec/from_union.mjs +2 -3
- package/node_modules/typebox/build/value/convert/from_enum.mjs +3 -4
- package/node_modules/typebox/build/value/convert/from_template_literal.d.mts +1 -1
- package/node_modules/typebox/build/value/convert/from_template_literal.mjs +2 -3
- package/node_modules/typebox/build/value/convert/from_type.mjs +19 -21
- package/node_modules/typebox/build/value/create/from_enum.mjs +2 -2
- package/node_modules/typebox/build/value/create/from_type.mjs +23 -31
- package/node_modules/typebox/build/value/default/from_object.mjs +1 -1
- package/node_modules/typebox/build/value/default/from_type.mjs +8 -10
- package/node_modules/typebox/build/value/index.d.mts +0 -1
- package/node_modules/typebox/build/value/index.mjs +0 -1
- package/node_modules/typebox/build/value/repair/from_enum.mjs +2 -3
- package/node_modules/typebox/build/value/repair/from_type.mjs +24 -22
- package/node_modules/typebox/build/value/shared/union_priority_sort.d.mts +6 -2
- package/node_modules/typebox/build/value/shared/union_priority_sort.mjs +62 -26
- package/node_modules/typebox/build/value/value.d.mts +0 -1
- package/node_modules/typebox/build/value/value.mjs +0 -1
- package/node_modules/typebox/package.json +25 -25
- package/node_modules/typebox/readme.md +97 -80
- package/npm-shrinkwrap.json +59 -54
- package/package.json +10 -10
- package/dist/probe.runtime-DFt7PIoE.js +0 -3
- package/node_modules/@babel/runtime/helpers/AwaitValue.js +0 -4
- package/node_modules/@babel/runtime/helpers/applyDecs.js +0 -236
- package/node_modules/@babel/runtime/helpers/applyDecs2203.js +0 -184
- package/node_modules/@babel/runtime/helpers/applyDecs2203R.js +0 -191
- package/node_modules/@babel/runtime/helpers/applyDecs2301.js +0 -222
- package/node_modules/@babel/runtime/helpers/applyDecs2305.js +0 -133
- package/node_modules/@babel/runtime/helpers/classApplyDescriptorDestructureSet.js +0 -10
- package/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js +0 -4
- package/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js +0 -5
- package/node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js +0 -4
- package/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js +0 -5
- package/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js +0 -7
- package/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js +0 -5
- package/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js +0 -4
- package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldDestructureSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js +0 -7
- package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js +0 -4
- package/node_modules/@babel/runtime/helpers/decorate.js +0 -250
- package/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js +0 -12
- package/node_modules/@babel/runtime/helpers/dispose.js +0 -28
- package/node_modules/@babel/runtime/helpers/esm/AwaitValue.js +0 -4
- package/node_modules/@babel/runtime/helpers/esm/applyDecs.js +0 -236
- package/node_modules/@babel/runtime/helpers/esm/applyDecs2203.js +0 -184
- package/node_modules/@babel/runtime/helpers/esm/applyDecs2203R.js +0 -191
- package/node_modules/@babel/runtime/helpers/esm/applyDecs2301.js +0 -222
- package/node_modules/@babel/runtime/helpers/esm/applyDecs2305.js +0 -133
- package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorDestructureSet.js +0 -10
- package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js +0 -4
- package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js +0 -5
- package/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticFieldDescriptor.js +0 -4
- package/node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js +0 -5
- package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js +0 -7
- package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js +0 -5
- package/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js +0 -4
- package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldDestructureSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js +0 -7
- package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js +0 -4
- package/node_modules/@babel/runtime/helpers/esm/decorate.js +0 -250
- package/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js +0 -12
- package/node_modules/@babel/runtime/helpers/esm/dispose.js +0 -28
- package/node_modules/@babel/runtime/helpers/esm/objectSpread.js +0 -14
- package/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js +0 -77
- package/node_modules/@babel/runtime/helpers/esm/using.js +0 -12
- package/node_modules/@babel/runtime/helpers/objectSpread.js +0 -14
- package/node_modules/@babel/runtime/helpers/regeneratorRuntime.js +0 -77
- package/node_modules/@babel/runtime/helpers/using.js +0 -12
- package/node_modules/@babel/runtime/regenerator/index.js +0 -15
- package/node_modules/content-type/HISTORY.md +0 -29
- package/node_modules/content-type/index.js +0 -225
- package/node_modules/media-typer/HISTORY.md +0 -50
- package/node_modules/media-typer/index.js +0 -143
- package/node_modules/typebox/build/schema/engine/_guard.d.mts +0 -6
- package/node_modules/typebox/build/schema/engine/_guard.mjs +0 -26
- package/node_modules/typebox/build/schema/types/_guard.d.mts +0 -10
- package/node_modules/typebox/build/schema/types/_guard.mjs +0 -16
- package/node_modules/typebox/build/type/action/_optional.d.mts +0 -19
- package/node_modules/typebox/build/type/action/_optional.mjs +0 -40
- package/node_modules/typebox/build/type/action/_readonly.d.mts +0 -19
- package/node_modules/typebox/build/type/action/_readonly.mjs +0 -40
- package/node_modules/typebox/build/type/action/awaited.d.mts +0 -15
- package/node_modules/typebox/build/type/action/awaited.mjs +0 -15
- package/node_modules/typebox/build/type/action/options.d.mts +0 -11
- package/node_modules/typebox/build/type/action/options.mjs +0 -11
- package/node_modules/typebox/build/type/engine/awaited/instantiate.d.mts +0 -11
- package/node_modules/typebox/build/type/engine/awaited/instantiate.mjs +0 -20
- package/node_modules/typebox/build/type/engine/enum/enum_to_union.d.mts +0 -14
- package/node_modules/typebox/build/type/engine/enum/enum_to_union.mjs +0 -24
- package/node_modules/typebox/build/type/engine/options/index.d.mts +0 -1
- package/node_modules/typebox/build/type/engine/options/index.mjs +0 -1
- package/node_modules/typebox/build/type/engine/options/instantiate.d.mts +0 -8
- package/node_modules/typebox/build/type/extends/async_iterator.d.mts +0 -7
- package/node_modules/typebox/build/type/extends/async_iterator.mjs +0 -9
- package/node_modules/typebox/build/type/extends/iterator.d.mts +0 -7
- package/node_modules/typebox/build/type/extends/iterator.mjs +0 -9
- package/node_modules/typebox/build/type/extends/promise.d.mts +0 -7
- package/node_modules/typebox/build/type/extends/promise.mjs +0 -9
- package/node_modules/typebox/build/type/types/async_iterator.d.mts +0 -20
- package/node_modules/typebox/build/type/types/async_iterator.mjs +0 -28
- package/node_modules/typebox/build/type/types/base.d.mts +0 -50
- package/node_modules/typebox/build/type/types/base.mjs +0 -84
- package/node_modules/typebox/build/type/types/iterator.d.mts +0 -20
- package/node_modules/typebox/build/type/types/iterator.mjs +0 -28
- package/node_modules/typebox/build/type/types/promise.d.mts +0 -21
- package/node_modules/typebox/build/type/types/promise.mjs +0 -29
- package/node_modules/typebox/build/value/clean/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/clean/from_base.mjs +0 -4
- package/node_modules/typebox/build/value/convert/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/convert/from_base.mjs +0 -4
- package/node_modules/typebox/build/value/create/from_async_iterator.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_async_iterator.mjs +0 -5
- package/node_modules/typebox/build/value/create/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_base.mjs +0 -4
- package/node_modules/typebox/build/value/create/from_iterator.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_iterator.mjs +0 -5
- package/node_modules/typebox/build/value/create/from_promise.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_promise.mjs +0 -5
- package/node_modules/typebox/build/value/default/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/default/from_base.mjs +0 -5
- package/node_modules/typebox/build/value/mutate/error.d.mts +0 -3
- package/node_modules/typebox/build/value/mutate/error.mjs +0 -6
- package/node_modules/typebox/build/value/mutate/from_array.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_array.mjs +0 -16
- package/node_modules/typebox/build/value/mutate/from_object.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_object.mjs +0 -40
- package/node_modules/typebox/build/value/mutate/from_unknown.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_unknown.mjs +0 -7
- package/node_modules/typebox/build/value/mutate/from_value.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_value.mjs +0 -12
- package/node_modules/typebox/build/value/mutate/index.d.mts +0 -1
- package/node_modules/typebox/build/value/mutate/index.mjs +0 -1
- package/node_modules/typebox/build/value/mutate/mutate.d.mts +0 -11
- package/node_modules/typebox/build/value/mutate/mutate.mjs +0 -41
- package/node_modules/typebox/build/value/repair/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/repair/from_base.mjs +0 -8
- /package/node_modules/typebox/build/type/engine/{awaited → with}/index.d.mts +0 -0
- /package/node_modules/typebox/build/type/engine/{awaited → with}/index.mjs +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summaryStatsReportGatherer.js","names":["SummaryStatsReportGatherer","constructor","emitter","build","allSummary","summary","filter","s","isFirstCollection","summaryTotalCount","length","peerConnectionsCount","summaryCounter","receivedAudio","receivedVideo","receivedMedia","concealedAudio","totalAudio","maxJitter","maxPacketLoss","forEach","stats","countTrackListReceivedMedia","countConcealedAudio","buildMaxJitter","buildMaxPacketLoss","decimalPlaces","report","percentageReceivedMedia","Number","toFixed","percentageReceivedVideoMedia","percentageReceivedAudioMedia","percentageConcealedAudio","peerConnections","emitSummaryStatsReport","extendSummaryReport","callParticipants","devices","users","userEntry","push","device","opponentDevicesInCall","Math","max","opponentUsersInCall","diffDevicesToPeerConnections","ratioPeerConnectionToDevices","counter","hasReceivedAudio","hasReceivedVideo","receivedAudioMedia","audioTrackSummary","count","receivedVideoMedia","videoTrackSummary","muted"],"sources":["../../../src/webrtc/stats/summaryStatsReportGatherer.ts"],"sourcesContent":["/*\nCopyright 2023 The Matrix.org Foundation C.I.C.\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n http://www.apache.org/licenses/LICENSE-2.0\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport { type StatsReportEmitter } from \"./statsReportEmitter.ts\";\nimport { type CallStatsReportSummary } from \"./callStatsReportSummary.ts\";\nimport { type SummaryStatsReport } from \"./statsReport.ts\";\nimport { type ParticipantState } from \"../groupCall.ts\";\nimport { type RoomMember } from \"../../matrix.ts\";\n\ninterface CallStatsReportSummaryCounter {\n receivedAudio: number;\n receivedVideo: number;\n receivedMedia: number;\n concealedAudio: number;\n totalAudio: number;\n}\n\nexport class SummaryStatsReportGatherer {\n public constructor(private emitter: StatsReportEmitter) {}\n\n public build(allSummary: CallStatsReportSummary[]): void {\n // Filter all stats which collect the first time webrtc stats.\n // Because stats based on time interval and the first collection of a summery stats has no previous\n // webrtcStats as basement all the calculation are 0. We don't want track the 0 stats.\n const summary = allSummary.filter((s) => !s.isFirstCollection);\n const summaryTotalCount = summary.length;\n // For counting the peer connections we also want to consider the ignored summaries\n const peerConnectionsCount = allSummary.length;\n if (summaryTotalCount === 0) {\n return;\n }\n\n const summaryCounter: CallStatsReportSummaryCounter = {\n receivedAudio: 0,\n receivedVideo: 0,\n receivedMedia: 0,\n concealedAudio: 0,\n totalAudio: 0,\n };\n let maxJitter = 0;\n let maxPacketLoss = 0;\n summary.forEach((stats) => {\n this.countTrackListReceivedMedia(summaryCounter, stats);\n this.countConcealedAudio(summaryCounter, stats);\n maxJitter = this.buildMaxJitter(maxJitter, stats);\n maxPacketLoss = this.buildMaxPacketLoss(maxPacketLoss, stats);\n });\n const decimalPlaces = 5;\n const report = {\n percentageReceivedMedia: Number((summaryCounter.receivedMedia / summaryTotalCount).toFixed(decimalPlaces)),\n percentageReceivedVideoMedia: Number(\n (summaryCounter.receivedVideo / summaryTotalCount).toFixed(decimalPlaces),\n ),\n percentageReceivedAudioMedia: Number(\n (summaryCounter.receivedAudio / summaryTotalCount).toFixed(decimalPlaces),\n ),\n maxJitter,\n maxPacketLoss,\n percentageConcealedAudio: Number(\n summaryCounter.totalAudio > 0\n ? (summaryCounter.concealedAudio / summaryCounter.totalAudio).toFixed(decimalPlaces)\n : 0,\n ),\n peerConnections: peerConnectionsCount,\n } as SummaryStatsReport;\n this.emitter.emitSummaryStatsReport(report);\n }\n\n public static extendSummaryReport(\n report: SummaryStatsReport,\n callParticipants: Map<RoomMember, Map<string, ParticipantState>>,\n ): void {\n // Calculate the actual number of devices based on the participants state event\n // (this is used, to compare the expected participant count from the room state with the acutal peer connections)\n // const devices = callParticipants.()\n const devices: [string, ParticipantState][] = [];\n const users: [RoomMember, Map<string, ParticipantState>][] = [];\n for (const userEntry of callParticipants) {\n users.push(userEntry);\n for (const device of userEntry[1]) {\n devices.push(device);\n }\n }\n report.opponentDevicesInCall = Math.max(0, devices.length - 1);\n report.opponentUsersInCall = Math.max(0, users.length - 1);\n report.diffDevicesToPeerConnections = Math.max(0, devices.length - 1) - report.peerConnections;\n report.ratioPeerConnectionToDevices =\n Math.max(0, devices.length - 1) == 0 ? 0 : report.peerConnections / (devices.length - 1);\n }\n\n private countTrackListReceivedMedia(counter: CallStatsReportSummaryCounter, stats: CallStatsReportSummary): void {\n let hasReceivedAudio = false;\n let hasReceivedVideo = false;\n if (stats.receivedAudioMedia > 0 || stats.audioTrackSummary.count === 0) {\n counter.receivedAudio++;\n hasReceivedAudio = true;\n }\n if (stats.receivedVideoMedia > 0 || stats.videoTrackSummary.count === 0) {\n counter.receivedVideo++;\n hasReceivedVideo = true;\n } else {\n if (stats.videoTrackSummary.muted > 0 && stats.videoTrackSummary.muted === stats.videoTrackSummary.count) {\n counter.receivedVideo++;\n hasReceivedVideo = true;\n }\n }\n\n if (hasReceivedVideo && hasReceivedAudio) {\n counter.receivedMedia++;\n }\n }\n\n private buildMaxJitter(maxJitter: number, stats: CallStatsReportSummary): number {\n if (maxJitter < stats.videoTrackSummary.maxJitter) {\n maxJitter = stats.videoTrackSummary.maxJitter;\n }\n\n if (maxJitter < stats.audioTrackSummary.maxJitter) {\n maxJitter = stats.audioTrackSummary.maxJitter;\n }\n return maxJitter;\n }\n\n private buildMaxPacketLoss(maxPacketLoss: number, stats: CallStatsReportSummary): number {\n if (maxPacketLoss < stats.videoTrackSummary.maxPacketLoss) {\n maxPacketLoss = stats.videoTrackSummary.maxPacketLoss;\n }\n\n if (maxPacketLoss < stats.audioTrackSummary.maxPacketLoss) {\n maxPacketLoss = stats.audioTrackSummary.maxPacketLoss;\n }\n return maxPacketLoss;\n }\n\n private countConcealedAudio(summaryCounter: CallStatsReportSummaryCounter, stats: CallStatsReportSummary): void {\n summaryCounter.concealedAudio += stats.audioTrackSummary.concealedAudio;\n summaryCounter.totalAudio += stats.audioTrackSummary.totalAudio;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"summaryStatsReportGatherer.js","names":[],"sources":["../../../src/webrtc/stats/summaryStatsReportGatherer.ts"],"sourcesContent":["/*\nCopyright 2023 The Matrix.org Foundation C.I.C.\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n http://www.apache.org/licenses/LICENSE-2.0\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport { type StatsReportEmitter } from \"./statsReportEmitter.ts\";\nimport { type CallStatsReportSummary } from \"./callStatsReportSummary.ts\";\nimport { type SummaryStatsReport } from \"./statsReport.ts\";\nimport { type ParticipantState } from \"../groupCall.ts\";\nimport { type RoomMember } from \"../../matrix.ts\";\n\ninterface CallStatsReportSummaryCounter {\n receivedAudio: number;\n receivedVideo: number;\n receivedMedia: number;\n concealedAudio: number;\n totalAudio: number;\n}\n\nexport class SummaryStatsReportGatherer {\n public constructor(private emitter: StatsReportEmitter) {}\n\n public build(allSummary: CallStatsReportSummary[]): void {\n // Filter all stats which collect the first time webrtc stats.\n // Because stats based on time interval and the first collection of a summery stats has no previous\n // webrtcStats as basement all the calculation are 0. We don't want track the 0 stats.\n const summary = allSummary.filter((s) => !s.isFirstCollection);\n const summaryTotalCount = summary.length;\n // For counting the peer connections we also want to consider the ignored summaries\n const peerConnectionsCount = allSummary.length;\n if (summaryTotalCount === 0) {\n return;\n }\n\n const summaryCounter: CallStatsReportSummaryCounter = {\n receivedAudio: 0,\n receivedVideo: 0,\n receivedMedia: 0,\n concealedAudio: 0,\n totalAudio: 0,\n };\n let maxJitter = 0;\n let maxPacketLoss = 0;\n summary.forEach((stats) => {\n this.countTrackListReceivedMedia(summaryCounter, stats);\n this.countConcealedAudio(summaryCounter, stats);\n maxJitter = this.buildMaxJitter(maxJitter, stats);\n maxPacketLoss = this.buildMaxPacketLoss(maxPacketLoss, stats);\n });\n const decimalPlaces = 5;\n const report = {\n percentageReceivedMedia: Number((summaryCounter.receivedMedia / summaryTotalCount).toFixed(decimalPlaces)),\n percentageReceivedVideoMedia: Number(\n (summaryCounter.receivedVideo / summaryTotalCount).toFixed(decimalPlaces),\n ),\n percentageReceivedAudioMedia: Number(\n (summaryCounter.receivedAudio / summaryTotalCount).toFixed(decimalPlaces),\n ),\n maxJitter,\n maxPacketLoss,\n percentageConcealedAudio: Number(\n summaryCounter.totalAudio > 0\n ? (summaryCounter.concealedAudio / summaryCounter.totalAudio).toFixed(decimalPlaces)\n : 0,\n ),\n peerConnections: peerConnectionsCount,\n } as SummaryStatsReport;\n this.emitter.emitSummaryStatsReport(report);\n }\n\n public static extendSummaryReport(\n report: SummaryStatsReport,\n callParticipants: Map<RoomMember, Map<string, ParticipantState>>,\n ): void {\n // Calculate the actual number of devices based on the participants state event\n // (this is used, to compare the expected participant count from the room state with the acutal peer connections)\n // const devices = callParticipants.()\n const devices: [string, ParticipantState][] = [];\n const users: [RoomMember, Map<string, ParticipantState>][] = [];\n for (const userEntry of callParticipants) {\n users.push(userEntry);\n for (const device of userEntry[1]) {\n devices.push(device);\n }\n }\n report.opponentDevicesInCall = Math.max(0, devices.length - 1);\n report.opponentUsersInCall = Math.max(0, users.length - 1);\n report.diffDevicesToPeerConnections = Math.max(0, devices.length - 1) - report.peerConnections;\n report.ratioPeerConnectionToDevices =\n Math.max(0, devices.length - 1) == 0 ? 0 : report.peerConnections / (devices.length - 1);\n }\n\n private countTrackListReceivedMedia(counter: CallStatsReportSummaryCounter, stats: CallStatsReportSummary): void {\n let hasReceivedAudio = false;\n let hasReceivedVideo = false;\n if (stats.receivedAudioMedia > 0 || stats.audioTrackSummary.count === 0) {\n counter.receivedAudio++;\n hasReceivedAudio = true;\n }\n if (stats.receivedVideoMedia > 0 || stats.videoTrackSummary.count === 0) {\n counter.receivedVideo++;\n hasReceivedVideo = true;\n } else {\n if (stats.videoTrackSummary.muted > 0 && stats.videoTrackSummary.muted === stats.videoTrackSummary.count) {\n counter.receivedVideo++;\n hasReceivedVideo = true;\n }\n }\n\n if (hasReceivedVideo && hasReceivedAudio) {\n counter.receivedMedia++;\n }\n }\n\n private buildMaxJitter(maxJitter: number, stats: CallStatsReportSummary): number {\n if (maxJitter < stats.videoTrackSummary.maxJitter) {\n maxJitter = stats.videoTrackSummary.maxJitter;\n }\n\n if (maxJitter < stats.audioTrackSummary.maxJitter) {\n maxJitter = stats.audioTrackSummary.maxJitter;\n }\n return maxJitter;\n }\n\n private buildMaxPacketLoss(maxPacketLoss: number, stats: CallStatsReportSummary): number {\n if (maxPacketLoss < stats.videoTrackSummary.maxPacketLoss) {\n maxPacketLoss = stats.videoTrackSummary.maxPacketLoss;\n }\n\n if (maxPacketLoss < stats.audioTrackSummary.maxPacketLoss) {\n maxPacketLoss = stats.audioTrackSummary.maxPacketLoss;\n }\n return maxPacketLoss;\n }\n\n private countConcealedAudio(summaryCounter: CallStatsReportSummaryCounter, stats: CallStatsReportSummary): void {\n summaryCounter.concealedAudio += stats.audioTrackSummary.concealedAudio;\n summaryCounter.totalAudio += stats.audioTrackSummary.totalAudio;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { ValueFormatter } from "./valueFormatter.js";
|
|
2
2
|
export class TrackStatsBuilder {
|
|
3
3
|
static buildFramerateResolution(trackStats, now) {
|
|
4
|
-
|
|
4
|
+
const resolution = {
|
|
5
5
|
height: now.frameHeight,
|
|
6
6
|
width: now.frameWidth
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
const frameRate = now.framesPerSecond;
|
|
9
9
|
if (resolution.height && resolution.width) {
|
|
10
10
|
trackStats.setResolution(resolution);
|
|
11
11
|
}
|
|
12
12
|
trackStats.setFramerate(Math.round(frameRate || 0));
|
|
13
13
|
}
|
|
14
14
|
static calculateSimulcastFramerate(trackStats, now, before, layer) {
|
|
15
|
-
|
|
15
|
+
let frameRate = trackStats.getFramerate();
|
|
16
16
|
if (!frameRate) {
|
|
17
17
|
if (before) {
|
|
18
|
-
|
|
18
|
+
const timeMs = now.timestamp - before.timestamp;
|
|
19
19
|
if (timeMs > 0 && now.framesSent) {
|
|
20
|
-
|
|
20
|
+
const numberOfFramesSinceBefore = now.framesSent - before.framesSent;
|
|
21
21
|
frameRate = numberOfFramesSinceBefore / timeMs * 1000;
|
|
22
22
|
}
|
|
23
23
|
}
|
|
@@ -31,14 +31,14 @@ export class TrackStatsBuilder {
|
|
|
31
31
|
trackStats.setFramerate(frameRate);
|
|
32
32
|
}
|
|
33
33
|
static buildCodec(report, trackStats, now) {
|
|
34
|
-
|
|
34
|
+
const codec = report?.get(now.codecId);
|
|
35
35
|
if (codec) {
|
|
36
36
|
/**
|
|
37
37
|
* The mime type has the following form: video/VP8 or audio/ISAC,
|
|
38
38
|
* so we what to keep just the type after the '/', audio and video
|
|
39
39
|
* keys will be added on the processing side.
|
|
40
40
|
*/
|
|
41
|
-
|
|
41
|
+
const codecShortType = codec.mimeType.split("/")[1];
|
|
42
42
|
if (codecShortType) trackStats.setCodec(codecShortType);
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -55,16 +55,16 @@ export class TrackStatsBuilder {
|
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
static buildPacketsLost(trackStats, now, before) {
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
const key = now.type === "outbound-rtp" ? "packetsSent" : "packetsReceived";
|
|
59
|
+
let packetsNow = now[key];
|
|
60
60
|
if (!packetsNow || packetsNow < 0) {
|
|
61
61
|
packetsNow = 0;
|
|
62
62
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
const packetsBefore = ValueFormatter.getNonNegativeValue(before[key]);
|
|
64
|
+
const packetsDiff = Math.max(0, packetsNow - packetsBefore);
|
|
65
|
+
const packetsLostNow = ValueFormatter.getNonNegativeValue(now.packetsLost);
|
|
66
|
+
const packetsLostBefore = ValueFormatter.getNonNegativeValue(before.packetsLost);
|
|
67
|
+
const packetsLostDiff = Math.max(0, packetsLostNow - packetsLostBefore);
|
|
68
68
|
trackStats.setLoss({
|
|
69
69
|
packetsTotal: packetsDiff + packetsLostDiff,
|
|
70
70
|
packetsLost: packetsLostDiff,
|
|
@@ -72,23 +72,22 @@ export class TrackStatsBuilder {
|
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
static calculateBitrate(bytesNowAny, bytesBeforeAny, nowTimestamp, beforeTimestamp) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
75
|
+
const bytesNow = ValueFormatter.getNonNegativeValue(bytesNowAny);
|
|
76
|
+
const bytesBefore = ValueFormatter.getNonNegativeValue(bytesBeforeAny);
|
|
77
|
+
const bytesProcessed = Math.max(0, bytesNow - bytesBefore);
|
|
78
|
+
const timeMs = nowTimestamp - beforeTimestamp;
|
|
79
|
+
let bitrateKbps = 0;
|
|
80
80
|
if (timeMs > 0) {
|
|
81
81
|
bitrateKbps = Math.round(bytesProcessed * 8 / timeMs);
|
|
82
82
|
}
|
|
83
83
|
return bitrateKbps;
|
|
84
84
|
}
|
|
85
85
|
static setTrackStatsState(trackStats, transceiver) {
|
|
86
|
-
var _transceiver$sender;
|
|
87
86
|
if (transceiver === undefined) {
|
|
88
87
|
trackStats.alive = false;
|
|
89
88
|
return;
|
|
90
89
|
}
|
|
91
|
-
|
|
90
|
+
const track = trackStats.getType() === "remote" ? transceiver.receiver.track : transceiver?.sender?.track;
|
|
92
91
|
if (track === undefined || track === null) {
|
|
93
92
|
trackStats.alive = false;
|
|
94
93
|
return;
|
|
@@ -102,7 +101,7 @@ export class TrackStatsBuilder {
|
|
|
102
101
|
trackStats.alive = true;
|
|
103
102
|
}
|
|
104
103
|
static buildTrackSummary(trackStatsList) {
|
|
105
|
-
|
|
104
|
+
const videoTrackSummary = {
|
|
106
105
|
count: 0,
|
|
107
106
|
muted: 0,
|
|
108
107
|
maxJitter: 0,
|
|
@@ -110,7 +109,7 @@ export class TrackStatsBuilder {
|
|
|
110
109
|
concealedAudio: 0,
|
|
111
110
|
totalAudio: 0
|
|
112
111
|
};
|
|
113
|
-
|
|
112
|
+
const audioTrackSummary = {
|
|
114
113
|
count: 0,
|
|
115
114
|
muted: 0,
|
|
116
115
|
maxJitter: 0,
|
|
@@ -118,10 +117,10 @@ export class TrackStatsBuilder {
|
|
|
118
117
|
concealedAudio: 0,
|
|
119
118
|
totalAudio: 0
|
|
120
119
|
};
|
|
121
|
-
|
|
122
|
-
|
|
120
|
+
const remoteTrackList = trackStatsList.filter(t => t.getType() === "remote");
|
|
121
|
+
const audioTrackList = remoteTrackList.filter(t => t.kind === "audio");
|
|
123
122
|
remoteTrackList.forEach(stats => {
|
|
124
|
-
|
|
123
|
+
const trackSummary = stats.kind === "video" ? videoTrackSummary : audioTrackSummary;
|
|
125
124
|
trackSummary.count++;
|
|
126
125
|
if (stats.alive && stats.muted) {
|
|
127
126
|
trackSummary.muted++;
|
|
@@ -133,9 +132,8 @@ export class TrackStatsBuilder {
|
|
|
133
132
|
trackSummary.maxPacketLoss = stats.getLoss().packetsLost;
|
|
134
133
|
}
|
|
135
134
|
if (audioTrackList.length > 0) {
|
|
136
|
-
|
|
137
|
-
trackSummary.
|
|
138
|
-
trackSummary.totalAudio += (_stats$getAudioConcea2 = stats.getAudioConcealment()) === null || _stats$getAudioConcea2 === void 0 ? void 0 : _stats$getAudioConcea2.totalAudioDuration;
|
|
135
|
+
trackSummary.concealedAudio += stats.getAudioConcealment()?.concealedAudio;
|
|
136
|
+
trackSummary.totalAudio += stats.getAudioConcealment()?.totalAudioDuration;
|
|
139
137
|
}
|
|
140
138
|
});
|
|
141
139
|
return {
|
|
@@ -147,9 +145,9 @@ export class TrackStatsBuilder {
|
|
|
147
145
|
if (statsReport.type !== "inbound-rtp") {
|
|
148
146
|
return;
|
|
149
147
|
}
|
|
150
|
-
|
|
148
|
+
const jitterStr = statsReport?.jitter;
|
|
151
149
|
if (jitterStr !== undefined) {
|
|
152
|
-
|
|
150
|
+
const jitter = ValueFormatter.getNonNegativeValue(jitterStr);
|
|
153
151
|
trackStats.setJitter(Math.round(jitter * 1000));
|
|
154
152
|
} else {
|
|
155
153
|
trackStats.setJitter(-1);
|
|
@@ -159,9 +157,9 @@ export class TrackStatsBuilder {
|
|
|
159
157
|
if (statsReport.type !== "inbound-rtp") {
|
|
160
158
|
return;
|
|
161
159
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
160
|
+
const msPerSample = 1000 * statsReport?.totalSamplesDuration / statsReport?.totalSamplesReceived;
|
|
161
|
+
const concealedAudioDuration = msPerSample * statsReport?.concealedSamples;
|
|
162
|
+
const totalAudioDuration = 1000 * statsReport?.totalSamplesDuration;
|
|
165
163
|
trackStats.setAudioConcealment(concealedAudioDuration, totalAudioDuration);
|
|
166
164
|
}
|
|
167
165
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trackStatsBuilder.js","names":["ValueFormatter","TrackStatsBuilder","buildFramerateResolution","trackStats","now","resolution","height","frameHeight","width","frameWidth","frameRate","framesPerSecond","setResolution","setFramerate","Math","round","calculateSimulcastFramerate","before","layer","getFramerate","timeMs","timestamp","framesSent","numberOfFramesSinceBefore","buildCodec","report","codec","get","codecId","codecShortType","mimeType","split","setCodec","buildBitrateReceived","setBitrate","download","calculateBitrate","bytesReceived","upload","buildBitrateSend","bytesSent","buildPacketsLost","key","type","packetsNow","packetsBefore","getNonNegativeValue","packetsDiff","max","packetsLostNow","packetsLost","packetsLostBefore","packetsLostDiff","setLoss","packetsTotal","isDownloadStream","bytesNowAny","bytesBeforeAny","nowTimestamp","beforeTimestamp","bytesNow","bytesBefore","bytesProcessed","bitrateKbps","setTrackStatsState","transceiver","_transceiver$sender","undefined","alive","track","getType","receiver","sender","readyState","muted","enabled","buildTrackSummary","trackStatsList","videoTrackSummary","count","maxJitter","maxPacketLoss","concealedAudio","totalAudio","audioTrackSummary","remoteTrackList","filter","t","audioTrackList","kind","forEach","stats","trackSummary","getJitter","getLoss","length","_stats$getAudioConcea","_stats$getAudioConcea2","getAudioConcealment","totalAudioDuration","buildJitter","statsReport","jitterStr","jitter","setJitter","buildAudioConcealment","msPerSample","totalSamplesDuration","totalSamplesReceived","concealedAudioDuration","concealedSamples","setAudioConcealment"],"sources":["../../../src/webrtc/stats/trackStatsBuilder.ts"],"sourcesContent":["import { type MediaTrackStats } from \"./media/mediaTrackStats.ts\";\nimport { ValueFormatter } from \"./valueFormatter.ts\";\nimport { type TrackSummary } from \"./callStatsReportSummary.ts\";\n\nexport class TrackStatsBuilder {\n public static buildFramerateResolution(trackStats: MediaTrackStats, now: any): void {\n const resolution = {\n height: now.frameHeight,\n width: now.frameWidth,\n };\n const frameRate = now.framesPerSecond;\n\n if (resolution.height && resolution.width) {\n trackStats.setResolution(resolution);\n }\n trackStats.setFramerate(Math.round(frameRate || 0));\n }\n\n public static calculateSimulcastFramerate(trackStats: MediaTrackStats, now: any, before: any, layer: number): void {\n let frameRate = trackStats.getFramerate();\n if (!frameRate) {\n if (before) {\n const timeMs = now.timestamp - before.timestamp;\n\n if (timeMs > 0 && now.framesSent) {\n const numberOfFramesSinceBefore = now.framesSent - before.framesSent;\n\n frameRate = (numberOfFramesSinceBefore / timeMs) * 1000;\n }\n }\n\n if (!frameRate) {\n return;\n }\n }\n\n // Reset frame rate to 0 when video is suspended as a result of endpoint falling out of last-n.\n frameRate = layer ? Math.round(frameRate / layer) : 0;\n trackStats.setFramerate(frameRate);\n }\n\n public static buildCodec(report: RTCStatsReport | undefined, trackStats: MediaTrackStats, now: any): void {\n const codec = report?.get(now.codecId);\n\n if (codec) {\n /**\n * The mime type has the following form: video/VP8 or audio/ISAC,\n * so we what to keep just the type after the '/', audio and video\n * keys will be added on the processing side.\n */\n const codecShortType = codec.mimeType.split(\"/\")[1];\n\n if (codecShortType) trackStats.setCodec(codecShortType);\n }\n }\n\n public static buildBitrateReceived(trackStats: MediaTrackStats, now: any, before: any): void {\n trackStats.setBitrate({\n download: TrackStatsBuilder.calculateBitrate(\n now.bytesReceived,\n before.bytesReceived,\n now.timestamp,\n before.timestamp,\n ),\n upload: 0,\n });\n }\n\n public static buildBitrateSend(trackStats: MediaTrackStats, now: any, before: any): void {\n trackStats.setBitrate({\n download: 0,\n upload: this.calculateBitrate(now.bytesSent, before.bytesSent, now.timestamp, before.timestamp),\n });\n }\n\n public static buildPacketsLost(trackStats: MediaTrackStats, now: any, before: any): void {\n const key = now.type === \"outbound-rtp\" ? \"packetsSent\" : \"packetsReceived\";\n\n let packetsNow = now[key];\n if (!packetsNow || packetsNow < 0) {\n packetsNow = 0;\n }\n\n const packetsBefore = ValueFormatter.getNonNegativeValue(before[key]);\n const packetsDiff = Math.max(0, packetsNow - packetsBefore);\n\n const packetsLostNow = ValueFormatter.getNonNegativeValue(now.packetsLost);\n const packetsLostBefore = ValueFormatter.getNonNegativeValue(before.packetsLost);\n const packetsLostDiff = Math.max(0, packetsLostNow - packetsLostBefore);\n\n trackStats.setLoss({\n packetsTotal: packetsDiff + packetsLostDiff,\n packetsLost: packetsLostDiff,\n isDownloadStream: now.type !== \"outbound-rtp\",\n });\n }\n\n private static calculateBitrate(\n bytesNowAny: any,\n bytesBeforeAny: any,\n nowTimestamp: number,\n beforeTimestamp: number,\n ): number {\n const bytesNow = ValueFormatter.getNonNegativeValue(bytesNowAny);\n const bytesBefore = ValueFormatter.getNonNegativeValue(bytesBeforeAny);\n const bytesProcessed = Math.max(0, bytesNow - bytesBefore);\n\n const timeMs = nowTimestamp - beforeTimestamp;\n let bitrateKbps = 0;\n\n if (timeMs > 0) {\n bitrateKbps = Math.round((bytesProcessed * 8) / timeMs);\n }\n\n return bitrateKbps;\n }\n\n public static setTrackStatsState(trackStats: MediaTrackStats, transceiver: RTCRtpTransceiver | undefined): void {\n if (transceiver === undefined) {\n trackStats.alive = false;\n return;\n }\n\n const track = trackStats.getType() === \"remote\" ? transceiver.receiver.track : transceiver?.sender?.track;\n if (track === undefined || track === null) {\n trackStats.alive = false;\n return;\n }\n\n if (track.readyState === \"ended\") {\n trackStats.alive = false;\n return;\n }\n trackStats.muted = track.muted;\n trackStats.enabled = track.enabled;\n trackStats.alive = true;\n }\n\n public static buildTrackSummary(trackStatsList: MediaTrackStats[]): {\n audioTrackSummary: TrackSummary;\n videoTrackSummary: TrackSummary;\n } {\n const videoTrackSummary: TrackSummary = {\n count: 0,\n muted: 0,\n maxJitter: 0,\n maxPacketLoss: 0,\n concealedAudio: 0,\n totalAudio: 0,\n };\n const audioTrackSummary: TrackSummary = {\n count: 0,\n muted: 0,\n maxJitter: 0,\n maxPacketLoss: 0,\n concealedAudio: 0,\n totalAudio: 0,\n };\n\n const remoteTrackList = trackStatsList.filter((t) => t.getType() === \"remote\");\n const audioTrackList = remoteTrackList.filter((t) => t.kind === \"audio\");\n\n remoteTrackList.forEach((stats) => {\n const trackSummary = stats.kind === \"video\" ? videoTrackSummary : audioTrackSummary;\n trackSummary.count++;\n if (stats.alive && stats.muted) {\n trackSummary.muted++;\n }\n if (trackSummary.maxJitter < stats.getJitter()) {\n trackSummary.maxJitter = stats.getJitter();\n }\n if (trackSummary.maxPacketLoss < stats.getLoss().packetsLost) {\n trackSummary.maxPacketLoss = stats.getLoss().packetsLost;\n }\n if (audioTrackList.length > 0) {\n trackSummary.concealedAudio += stats.getAudioConcealment()?.concealedAudio;\n trackSummary.totalAudio += stats.getAudioConcealment()?.totalAudioDuration;\n }\n });\n\n return { audioTrackSummary, videoTrackSummary };\n }\n\n public static buildJitter(trackStats: MediaTrackStats, statsReport: any): void {\n if (statsReport.type !== \"inbound-rtp\") {\n return;\n }\n\n const jitterStr = statsReport?.jitter;\n if (jitterStr !== undefined) {\n const jitter = ValueFormatter.getNonNegativeValue(jitterStr);\n trackStats.setJitter(Math.round(jitter * 1000));\n } else {\n trackStats.setJitter(-1);\n }\n }\n\n public static buildAudioConcealment(trackStats: MediaTrackStats, statsReport: any): void {\n if (statsReport.type !== \"inbound-rtp\") {\n return;\n }\n const msPerSample = (1000 * statsReport?.totalSamplesDuration) / statsReport?.totalSamplesReceived;\n const concealedAudioDuration = msPerSample * statsReport?.concealedSamples;\n const totalAudioDuration = 1000 * statsReport?.totalSamplesDuration;\n trackStats.setAudioConcealment(concealedAudioDuration, totalAudioDuration);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"trackStatsBuilder.js","names":[],"sources":["../../../src/webrtc/stats/trackStatsBuilder.ts"],"sourcesContent":["import { type MediaTrackStats } from \"./media/mediaTrackStats.ts\";\nimport { ValueFormatter } from \"./valueFormatter.ts\";\nimport { type TrackSummary } from \"./callStatsReportSummary.ts\";\n\nexport class TrackStatsBuilder {\n public static buildFramerateResolution(trackStats: MediaTrackStats, now: any): void {\n const resolution = {\n height: now.frameHeight,\n width: now.frameWidth,\n };\n const frameRate = now.framesPerSecond;\n\n if (resolution.height && resolution.width) {\n trackStats.setResolution(resolution);\n }\n trackStats.setFramerate(Math.round(frameRate || 0));\n }\n\n public static calculateSimulcastFramerate(trackStats: MediaTrackStats, now: any, before: any, layer: number): void {\n let frameRate = trackStats.getFramerate();\n if (!frameRate) {\n if (before) {\n const timeMs = now.timestamp - before.timestamp;\n\n if (timeMs > 0 && now.framesSent) {\n const numberOfFramesSinceBefore = now.framesSent - before.framesSent;\n\n frameRate = (numberOfFramesSinceBefore / timeMs) * 1000;\n }\n }\n\n if (!frameRate) {\n return;\n }\n }\n\n // Reset frame rate to 0 when video is suspended as a result of endpoint falling out of last-n.\n frameRate = layer ? Math.round(frameRate / layer) : 0;\n trackStats.setFramerate(frameRate);\n }\n\n public static buildCodec(report: RTCStatsReport | undefined, trackStats: MediaTrackStats, now: any): void {\n const codec = report?.get(now.codecId);\n\n if (codec) {\n /**\n * The mime type has the following form: video/VP8 or audio/ISAC,\n * so we what to keep just the type after the '/', audio and video\n * keys will be added on the processing side.\n */\n const codecShortType = codec.mimeType.split(\"/\")[1];\n\n if (codecShortType) trackStats.setCodec(codecShortType);\n }\n }\n\n public static buildBitrateReceived(trackStats: MediaTrackStats, now: any, before: any): void {\n trackStats.setBitrate({\n download: TrackStatsBuilder.calculateBitrate(\n now.bytesReceived,\n before.bytesReceived,\n now.timestamp,\n before.timestamp,\n ),\n upload: 0,\n });\n }\n\n public static buildBitrateSend(trackStats: MediaTrackStats, now: any, before: any): void {\n trackStats.setBitrate({\n download: 0,\n upload: this.calculateBitrate(now.bytesSent, before.bytesSent, now.timestamp, before.timestamp),\n });\n }\n\n public static buildPacketsLost(trackStats: MediaTrackStats, now: any, before: any): void {\n const key = now.type === \"outbound-rtp\" ? \"packetsSent\" : \"packetsReceived\";\n\n let packetsNow = now[key];\n if (!packetsNow || packetsNow < 0) {\n packetsNow = 0;\n }\n\n const packetsBefore = ValueFormatter.getNonNegativeValue(before[key]);\n const packetsDiff = Math.max(0, packetsNow - packetsBefore);\n\n const packetsLostNow = ValueFormatter.getNonNegativeValue(now.packetsLost);\n const packetsLostBefore = ValueFormatter.getNonNegativeValue(before.packetsLost);\n const packetsLostDiff = Math.max(0, packetsLostNow - packetsLostBefore);\n\n trackStats.setLoss({\n packetsTotal: packetsDiff + packetsLostDiff,\n packetsLost: packetsLostDiff,\n isDownloadStream: now.type !== \"outbound-rtp\",\n });\n }\n\n private static calculateBitrate(\n bytesNowAny: any,\n bytesBeforeAny: any,\n nowTimestamp: number,\n beforeTimestamp: number,\n ): number {\n const bytesNow = ValueFormatter.getNonNegativeValue(bytesNowAny);\n const bytesBefore = ValueFormatter.getNonNegativeValue(bytesBeforeAny);\n const bytesProcessed = Math.max(0, bytesNow - bytesBefore);\n\n const timeMs = nowTimestamp - beforeTimestamp;\n let bitrateKbps = 0;\n\n if (timeMs > 0) {\n bitrateKbps = Math.round((bytesProcessed * 8) / timeMs);\n }\n\n return bitrateKbps;\n }\n\n public static setTrackStatsState(trackStats: MediaTrackStats, transceiver: RTCRtpTransceiver | undefined): void {\n if (transceiver === undefined) {\n trackStats.alive = false;\n return;\n }\n\n const track = trackStats.getType() === \"remote\" ? transceiver.receiver.track : transceiver?.sender?.track;\n if (track === undefined || track === null) {\n trackStats.alive = false;\n return;\n }\n\n if (track.readyState === \"ended\") {\n trackStats.alive = false;\n return;\n }\n trackStats.muted = track.muted;\n trackStats.enabled = track.enabled;\n trackStats.alive = true;\n }\n\n public static buildTrackSummary(trackStatsList: MediaTrackStats[]): {\n audioTrackSummary: TrackSummary;\n videoTrackSummary: TrackSummary;\n } {\n const videoTrackSummary: TrackSummary = {\n count: 0,\n muted: 0,\n maxJitter: 0,\n maxPacketLoss: 0,\n concealedAudio: 0,\n totalAudio: 0,\n };\n const audioTrackSummary: TrackSummary = {\n count: 0,\n muted: 0,\n maxJitter: 0,\n maxPacketLoss: 0,\n concealedAudio: 0,\n totalAudio: 0,\n };\n\n const remoteTrackList = trackStatsList.filter((t) => t.getType() === \"remote\");\n const audioTrackList = remoteTrackList.filter((t) => t.kind === \"audio\");\n\n remoteTrackList.forEach((stats) => {\n const trackSummary = stats.kind === \"video\" ? videoTrackSummary : audioTrackSummary;\n trackSummary.count++;\n if (stats.alive && stats.muted) {\n trackSummary.muted++;\n }\n if (trackSummary.maxJitter < stats.getJitter()) {\n trackSummary.maxJitter = stats.getJitter();\n }\n if (trackSummary.maxPacketLoss < stats.getLoss().packetsLost) {\n trackSummary.maxPacketLoss = stats.getLoss().packetsLost;\n }\n if (audioTrackList.length > 0) {\n trackSummary.concealedAudio += stats.getAudioConcealment()?.concealedAudio;\n trackSummary.totalAudio += stats.getAudioConcealment()?.totalAudioDuration;\n }\n });\n\n return { audioTrackSummary, videoTrackSummary };\n }\n\n public static buildJitter(trackStats: MediaTrackStats, statsReport: any): void {\n if (statsReport.type !== \"inbound-rtp\") {\n return;\n }\n\n const jitterStr = statsReport?.jitter;\n if (jitterStr !== undefined) {\n const jitter = ValueFormatter.getNonNegativeValue(jitterStr);\n trackStats.setJitter(Math.round(jitter * 1000));\n } else {\n trackStats.setJitter(-1);\n }\n }\n\n public static buildAudioConcealment(trackStats: MediaTrackStats, statsReport: any): void {\n if (statsReport.type !== \"inbound-rtp\") {\n return;\n }\n const msPerSample = (1000 * statsReport?.totalSamplesDuration) / statsReport?.totalSamplesReceived;\n const concealedAudioDuration = msPerSample * statsReport?.concealedSamples;\n const totalAudioDuration = 1000 * statsReport?.totalSamplesDuration;\n trackStats.setAudioConcealment(concealedAudioDuration, totalAudioDuration);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
export class TransportStatsBuilder {
|
|
2
2
|
static buildReport(report, now, conferenceStatsTransport, isFocus) {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
const localUsedCandidate = report?.get(now.localCandidateId);
|
|
4
|
+
const remoteUsedCandidate = report?.get(now.remoteCandidateId);
|
|
5
5
|
|
|
6
6
|
// RTCIceCandidateStats
|
|
7
7
|
// https://w3c.github.io/webrtc-stats/#icecandidate-dict*
|
|
8
8
|
if (remoteUsedCandidate && localUsedCandidate) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
const remoteIpAddress = remoteUsedCandidate.ip !== undefined ? remoteUsedCandidate.ip : remoteUsedCandidate.address;
|
|
10
|
+
const remotePort = remoteUsedCandidate.port;
|
|
11
|
+
const ip = `${remoteIpAddress}:${remotePort}`;
|
|
12
|
+
const localIpAddress = localUsedCandidate.ip !== undefined ? localUsedCandidate.ip : localUsedCandidate.address;
|
|
13
|
+
const localPort = localUsedCandidate.port;
|
|
14
|
+
const localIp = `${localIpAddress}:${localPort}`;
|
|
15
|
+
const type = remoteUsedCandidate.protocol;
|
|
16
16
|
|
|
17
17
|
// Save the address unless it has been saved already.
|
|
18
18
|
if (!conferenceStatsTransport.some(t => t.ip === ip && t.type === type && t.localIp === localIp)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transportStatsBuilder.js","names":[
|
|
1
|
+
{"version":3,"file":"transportStatsBuilder.js","names":[],"sources":["../../../src/webrtc/stats/transportStatsBuilder.ts"],"sourcesContent":["import { type TransportStats } from \"./transportStats.ts\";\n\nexport class TransportStatsBuilder {\n public static buildReport(\n report: RTCStatsReport | undefined,\n now: RTCIceCandidatePairStats,\n conferenceStatsTransport: TransportStats[],\n isFocus: boolean,\n ): TransportStats[] {\n const localUsedCandidate = report?.get(now.localCandidateId);\n const remoteUsedCandidate = report?.get(now.remoteCandidateId);\n\n // RTCIceCandidateStats\n // https://w3c.github.io/webrtc-stats/#icecandidate-dict*\n if (remoteUsedCandidate && localUsedCandidate) {\n const remoteIpAddress =\n remoteUsedCandidate.ip !== undefined ? remoteUsedCandidate.ip : remoteUsedCandidate.address;\n const remotePort = remoteUsedCandidate.port;\n const ip = `${remoteIpAddress}:${remotePort}`;\n\n const localIpAddress =\n localUsedCandidate.ip !== undefined ? localUsedCandidate.ip : localUsedCandidate.address;\n const localPort = localUsedCandidate.port;\n const localIp = `${localIpAddress}:${localPort}`;\n\n const type = remoteUsedCandidate.protocol;\n\n // Save the address unless it has been saved already.\n if (\n !conferenceStatsTransport.some(\n (t: TransportStats) => t.ip === ip && t.type === type && t.localIp === localIp,\n )\n ) {\n conferenceStatsTransport.push({\n ip,\n type,\n localIp,\n isFocus,\n localCandidateType: localUsedCandidate.candidateType,\n remoteCandidateType: remoteUsedCandidate.candidateType,\n networkType: localUsedCandidate.networkType,\n rtt: now.currentRoundTripTime ? now.currentRoundTripTime * 1000 : NaN,\n } as TransportStats);\n }\n }\n return conferenceStatsTransport;\n }\n}\n"],"mappings":"AAEA,OAAO,MAAM,qBAAqB,CAAC;EAC/B,OAAc,WAAW,CACrB,MAAkC,EAClC,GAA6B,EAC7B,wBAA0C,EAC1C,OAAgB,EACA;IAChB,MAAM,kBAAkB,GAAG,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5D,MAAM,mBAAmB,GAAG,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC;;IAE9D;IACA;IACA,IAAI,mBAAmB,IAAI,kBAAkB,EAAE;MAC3C,MAAM,eAAe,GACjB,mBAAmB,CAAC,EAAE,KAAK,SAAS,GAAG,mBAAmB,CAAC,EAAE,GAAG,mBAAmB,CAAC,OAAO;MAC/F,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI;MAC3C,MAAM,EAAE,GAAG,GAAG,eAAe,IAAI,UAAU,EAAE;MAE7C,MAAM,cAAc,GAChB,kBAAkB,CAAC,EAAE,KAAK,SAAS,GAAG,kBAAkB,CAAC,EAAE,GAAG,kBAAkB,CAAC,OAAO;MAC5F,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI;MACzC,MAAM,OAAO,GAAG,GAAG,cAAc,IAAI,SAAS,EAAE;MAEhD,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ;;MAEzC;MACA,IACI,CAAC,wBAAwB,CAAC,IAAI,CACzB,CAAiB,IAAK,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,OAC3E,CAAC,EACH;QACE,wBAAwB,CAAC,IAAI,CAAC;UAC1B,EAAE;UACF,IAAI;UACJ,OAAO;UACP,OAAO;UACP,kBAAkB,EAAE,kBAAkB,CAAC,aAAa;UACpD,mBAAmB,EAAE,mBAAmB,CAAC,aAAa;UACtD,WAAW,EAAE,kBAAkB,CAAC,WAAW;UAC3C,GAAG,EAAE,GAAG,CAAC,oBAAoB,GAAG,GAAG,CAAC,oBAAoB,GAAG,IAAI,GAAG;QACtE,CAAmB,CAAC;MACxB;IACJ;IACA,OAAO,wBAAwB;EACnC;AACJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valueFormatter.js","names":[
|
|
1
|
+
{"version":3,"file":"valueFormatter.js","names":[],"sources":["../../../src/webrtc/stats/valueFormatter.ts"],"sourcesContent":["/*\nCopyright 2023 The Matrix.org Foundation C.I.C.\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n http://www.apache.org/licenses/LICENSE-2.0\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nexport class ValueFormatter {\n public static getNonNegativeValue(imput: any): number {\n let value = imput;\n\n if (typeof value !== \"number\") {\n value = Number(value);\n }\n\n if (isNaN(value)) {\n return 0;\n }\n\n return Math.max(0, value);\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM,cAAc,CAAC;EACxB,OAAc,mBAAmB,CAAC,KAAU,EAAU;IAClD,IAAI,KAAK,GAAG,KAAK;IAEjB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;MAC3B,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACzB;IAEA,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;MACd,OAAO,CAAC;IACZ;IAEA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;EAC7B;AACJ","ignoreList":[]}
|