@openclaw/matrix 2026.8.1-beta.3 → 2026.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1005) hide show
  1. package/dist/{account-config-BZWN9tGS.js → account-config-CRsKoMqJ.js} +1 -1
  2. package/dist/{account-selection-CWuhuFn1.js → account-selection-C8nnBTxi.js} +63 -27
  3. package/dist/{accounts-BCzyubQt.js → accounts-fC57n-Jo.js} +3 -4
  4. package/dist/api.js +5 -5
  5. package/dist/{approval-handler.runtime-CSvueU9P.js → approval-handler.runtime-BBjFZw1t.js} +7 -5
  6. package/dist/{approval-ids-CEcf-EiM.js → approval-ids-DTIdXV-m.js} +1 -1
  7. package/dist/{approval-reaction-auth-CziKXatm.js → approval-reaction-auth-BDONXxnF.js} +2 -2
  8. package/dist/{channel-CzQw5OZN.js → channel-BkEcVUs_.js} +28 -11
  9. package/dist/channel-plugin-api.js +1 -1
  10. package/dist/{channel.runtime-I9pBRQb3.js → channel.runtime-CTLSBFsP.js} +7 -7
  11. package/dist/{channel.setup-aNaa3Uyn.js → channel.setup-CSacbORr.js} +10 -5
  12. package/dist/{cli-iR6QJ5U0.js → cli-DRVtgrq5.js} +15 -14
  13. package/dist/{cli-metadata-BmUYWjuM.js → cli-metadata-Ddx_y4Os.js} +1 -1
  14. package/dist/cli-metadata.js +1 -1
  15. package/dist/{client-D8XghqmX.js → client-CZ_JvrO0.js} +2 -2
  16. package/dist/{client-bootstrap-Co3RlItb.js → client-bootstrap-D8irSL2i.js} +1 -1
  17. package/dist/{client-BBQdBG7t.js → client-kSi51NKp.js} +71 -62
  18. package/dist/{config-update-Bor_Pjsv.js → config-update-DC0fWBxc.js} +2 -3
  19. package/dist/contract-api.js +2 -2
  20. package/dist/{crypto-runtime-Bnz3zEcS.js → crypto-runtime-C4WDYxlP.js} +1 -1
  21. package/dist/{directory-live-DLQzel12.js → directory-live-DKr0w35b.js} +2 -2
  22. package/dist/doctor-contract-api.js +2 -2
  23. package/dist/{draft-stream-DQ7QNC-l.js → draft-stream-0CEpNrBk.js} +1 -1
  24. package/dist/{encryption-guidance-DmLY8NiO.js → encryption-guidance-D4ZdAqzM.js} +1 -1
  25. package/dist/event-helpers-XRfAbOIh.js +46 -0
  26. package/dist/helper-api.js +1 -1
  27. package/dist/{http-client-CycYxU9-.js → http-client-D8o8b9u6.js} +3 -47
  28. package/dist/{idb-persistence-BM0P27Zg.js → idb-persistence-DfgW720p.js} +1 -1
  29. package/dist/index.js +1 -1
  30. package/dist/{messages-DEqg7HVy.js → messages-DaGRt-tu.js} +161 -25
  31. package/dist/{monitor-FNrfkuWL.js → monitor-CLPbPcR9.js} +203 -149
  32. package/dist/plugin-entry.handlers.runtime.js +1 -1
  33. package/dist/probe.runtime-Bxpr1FFy.js +2 -0
  34. package/dist/{profile-update-BQlE5s2J.js → profile-update-zXVCMg7y.js} +2 -2
  35. package/dist/{reaction-events-BKOLlnCo.js → reaction-events-CjVUiqcY.js} +5 -5
  36. package/dist/{resolve-targets-e7AI0P75.js → resolve-targets-qG6gceps.js} +1 -1
  37. package/dist/{resolver.runtime-V8u0pHEb.js → resolver.runtime-zX3TR3TN.js} +1 -1
  38. package/dist/{room-info-BXQA7y10.js → room-info-yheP1mod.js} +55 -1
  39. package/dist/runtime-api.js +1 -1
  40. package/dist/{sdk-NxK3vzMa.js → sdk-TZYyo0XQ.js} +58 -27
  41. package/dist/{send-ClHgDZLT.js → send-BL_iH5Ox.js} +45 -26
  42. package/dist/session-binding-contract-api.js +1 -1
  43. package/dist/{setup-bootstrap-BGPjbA5N.js → setup-bootstrap-D8M7FmcO.js} +3 -3
  44. package/dist/{setup-core-DigrLebY.js → setup-core-r6L0nno-.js} +5 -5
  45. package/dist/setup-plugin-api.js +1 -1
  46. package/dist/{setup-surface-Dtn8sAWs.js → setup-surface-g174ElFO.js} +8 -9
  47. package/dist/{thread-bindings-BYEGfw3h.js → thread-bindings-ERWNousC.js} +3 -3
  48. package/dist/{tool-actions.runtime-ck6IJyP0.js → tool-actions.runtime-DcBCSwY4.js} +55 -63
  49. package/dist/{verification-CabtBTtB.js → verification-4vsW_WSn.js} +2 -2
  50. package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/CHANGELOG.md +29 -3
  51. package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/README.md +23 -14
  52. package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/RELEASING.md +6 -2
  53. package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/download-lib.js +33 -14
  54. package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/index.d.ts +14 -0
  55. package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/package.json +41 -42
  56. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/package.json +1 -1
  57. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm.d.ts +16 -4
  58. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.cjs +25 -9
  59. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.js +23 -7
  60. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm +0 -0
  61. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm.d.ts +1 -0
  62. package/node_modules/markdown-it/README.md +18 -294
  63. package/node_modules/markdown-it/bin/markdown-it.mjs +2 -2
  64. package/node_modules/markdown-it/dist/browser/markdown-it.esm.min.mjs +2972 -0
  65. package/node_modules/markdown-it/dist/browser/markdown-it.esm.min.mjs.map +1 -0
  66. package/node_modules/markdown-it/dist/browser/markdown-it.umd.min.js +14 -0
  67. package/node_modules/markdown-it/dist/browser/markdown-it.umd.min.js.map +1 -0
  68. package/node_modules/markdown-it/dist/markdown-it.cjs.js +4412 -0
  69. package/node_modules/markdown-it/dist/markdown-it.cjs.js.map +1 -0
  70. package/node_modules/markdown-it/dist/markdown-it.d.cts +19 -0
  71. package/node_modules/markdown-it/dist/markdown-it.d.mts +979 -0
  72. package/node_modules/markdown-it/dist/{index.cjs.js → markdown-it.mjs} +1437 -1466
  73. package/node_modules/markdown-it/dist/markdown-it.mjs.map +1 -0
  74. package/node_modules/markdown-it/node_modules/argparse/README.md +46 -41
  75. package/node_modules/markdown-it/node_modules/argparse/lib/_colorize.js +72 -0
  76. package/node_modules/markdown-it/node_modules/argparse/lib/argparse.d.ts +292 -0
  77. package/node_modules/markdown-it/node_modules/argparse/{argparse.js → lib/argparse.js} +1124 -1027
  78. package/node_modules/markdown-it/node_modules/argparse/lib/difflib.js +190 -0
  79. package/node_modules/markdown-it/node_modules/argparse/lib/sub.js +4 -4
  80. package/node_modules/markdown-it/node_modules/argparse/lib/textwrap.js +28 -28
  81. package/node_modules/markdown-it/node_modules/argparse/package.json +17 -10
  82. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.d.ts +8 -0
  83. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.d.ts.map +1 -0
  84. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.js +46 -0
  85. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.js.map +1 -0
  86. package/node_modules/markdown-it/node_modules/entities/{lib/esm → dist}/decode.d.ts +28 -45
  87. package/node_modules/markdown-it/node_modules/entities/dist/decode.d.ts.map +1 -0
  88. package/node_modules/markdown-it/node_modules/entities/{lib/esm → dist}/decode.js +189 -141
  89. package/node_modules/markdown-it/node_modules/entities/dist/decode.js.map +1 -0
  90. package/node_modules/markdown-it/node_modules/entities/{lib/esm → dist}/encode.d.ts +4 -2
  91. package/node_modules/markdown-it/node_modules/entities/dist/encode.d.ts.map +1 -0
  92. package/node_modules/markdown-it/node_modules/entities/dist/encode.js +90 -0
  93. package/node_modules/markdown-it/node_modules/entities/dist/encode.js.map +1 -0
  94. package/node_modules/markdown-it/node_modules/entities/{lib → dist}/escape.d.ts +15 -10
  95. package/node_modules/markdown-it/node_modules/entities/dist/escape.d.ts.map +1 -0
  96. package/node_modules/markdown-it/node_modules/entities/dist/escape.js +132 -0
  97. package/node_modules/markdown-it/node_modules/entities/dist/escape.js.map +1 -0
  98. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.d.ts +3 -0
  99. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.d.ts.map +1 -0
  100. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.js +5 -0
  101. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.js.map +1 -0
  102. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.d.ts +3 -0
  103. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.d.ts.map +1 -0
  104. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.js +5 -0
  105. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.js.map +1 -0
  106. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.d.ts +5 -0
  107. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.d.ts.map +1 -0
  108. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.js +12 -0
  109. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.js.map +1 -0
  110. package/node_modules/markdown-it/node_modules/entities/{lib → dist}/index.d.ts +14 -21
  111. package/node_modules/markdown-it/node_modules/entities/dist/index.d.ts.map +1 -0
  112. package/node_modules/markdown-it/node_modules/entities/dist/index.js +91 -0
  113. package/node_modules/markdown-it/node_modules/entities/dist/index.js.map +1 -0
  114. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.d.ts +17 -0
  115. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.d.ts.map +1 -0
  116. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.js +18 -0
  117. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.js.map +1 -0
  118. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.d.ts +7 -0
  119. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.d.ts.map +1 -0
  120. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.js +17 -0
  121. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.js.map +1 -0
  122. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.d.ts +33 -0
  123. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.d.ts.map +1 -0
  124. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.js +93 -0
  125. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.js.map +1 -0
  126. package/node_modules/markdown-it/node_modules/entities/package.json +63 -70
  127. package/node_modules/markdown-it/node_modules/entities/readme.md +54 -45
  128. package/node_modules/markdown-it/node_modules/entities/src/decode-codepoint.ts +50 -0
  129. package/node_modules/markdown-it/node_modules/entities/src/decode.ts +671 -0
  130. package/node_modules/markdown-it/node_modules/entities/src/encode.ts +95 -0
  131. package/node_modules/markdown-it/node_modules/entities/src/escape.ts +160 -0
  132. package/node_modules/markdown-it/node_modules/entities/src/generated/decode-data-html.ts +7 -0
  133. package/node_modules/markdown-it/node_modules/entities/src/generated/decode-data-xml.ts +7 -0
  134. package/node_modules/markdown-it/node_modules/entities/src/generated/encode-html.ts +18 -0
  135. package/node_modules/markdown-it/node_modules/entities/src/index.ts +162 -0
  136. package/node_modules/markdown-it/node_modules/entities/src/internal/bin-trie-flags.ts +16 -0
  137. package/node_modules/markdown-it/node_modules/entities/src/internal/decode-shared.ts +18 -0
  138. package/node_modules/markdown-it/node_modules/entities/src/internal/encode-shared.ts +123 -0
  139. package/node_modules/markdown-it/node_modules/linkify-it/README.md +49 -86
  140. package/node_modules/markdown-it/node_modules/linkify-it/build/index.cjs.js +636 -825
  141. package/node_modules/markdown-it/node_modules/linkify-it/build/index.cjs.js.map +1 -0
  142. package/node_modules/markdown-it/node_modules/linkify-it/build/index.d.ts +236 -0
  143. package/node_modules/markdown-it/node_modules/linkify-it/build/index.mjs +538 -0
  144. package/node_modules/markdown-it/node_modules/linkify-it/build/index.mjs.map +1 -0
  145. package/node_modules/markdown-it/node_modules/linkify-it/package.json +23 -20
  146. package/node_modules/markdown-it/node_modules/uc.micro/README.md +18 -1
  147. package/node_modules/markdown-it/node_modules/uc.micro/build/index.cjs.js +13 -18
  148. package/node_modules/markdown-it/node_modules/uc.micro/build/index.d.ts +6 -0
  149. package/node_modules/markdown-it/node_modules/uc.micro/build/index.mjs +8 -0
  150. package/node_modules/markdown-it/node_modules/uc.micro/package.json +12 -17
  151. package/node_modules/markdown-it/package.json +48 -30
  152. package/node_modules/matrix-js-sdk/CHANGELOG.md +33 -0
  153. package/node_modules/matrix-js-sdk/lib/@types/PushRules.d.ts.map +1 -1
  154. package/node_modules/matrix-js-sdk/lib/@types/PushRules.js +0 -5
  155. package/node_modules/matrix-js-sdk/lib/@types/PushRules.js.map +1 -1
  156. package/node_modules/matrix-js-sdk/lib/@types/auth.d.ts +0 -5
  157. package/node_modules/matrix-js-sdk/lib/@types/auth.d.ts.map +1 -1
  158. package/node_modules/matrix-js-sdk/lib/@types/auth.js +0 -11
  159. package/node_modules/matrix-js-sdk/lib/@types/auth.js.map +1 -1
  160. package/node_modules/matrix-js-sdk/lib/@types/beacon.d.ts +1 -1
  161. package/node_modules/matrix-js-sdk/lib/@types/beacon.js +1 -1
  162. package/node_modules/matrix-js-sdk/lib/@types/beacon.js.map +1 -1
  163. package/node_modules/matrix-js-sdk/lib/@types/crypto.d.ts.map +1 -1
  164. package/node_modules/matrix-js-sdk/lib/@types/crypto.js.map +1 -1
  165. package/node_modules/matrix-js-sdk/lib/@types/event.d.ts +3 -1
  166. package/node_modules/matrix-js-sdk/lib/@types/event.d.ts.map +1 -1
  167. package/node_modules/matrix-js-sdk/lib/@types/event.js +1 -0
  168. package/node_modules/matrix-js-sdk/lib/@types/event.js.map +1 -1
  169. package/node_modules/matrix-js-sdk/lib/@types/extensible_events.d.ts.map +1 -1
  170. package/node_modules/matrix-js-sdk/lib/@types/extensible_events.js.map +1 -1
  171. package/node_modules/matrix-js-sdk/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -1
  172. package/node_modules/matrix-js-sdk/lib/@types/media.js.map +1 -1
  173. package/node_modules/matrix-js-sdk/lib/@types/partials.d.ts.map +1 -1
  174. package/node_modules/matrix-js-sdk/lib/@types/partials.js.map +1 -1
  175. package/node_modules/matrix-js-sdk/lib/@types/requests.d.ts.map +1 -1
  176. package/node_modules/matrix-js-sdk/lib/@types/requests.js +0 -5
  177. package/node_modules/matrix-js-sdk/lib/@types/requests.js.map +1 -1
  178. package/node_modules/matrix-js-sdk/lib/@types/search.d.ts.map +1 -1
  179. package/node_modules/matrix-js-sdk/lib/@types/search.js +0 -3
  180. package/node_modules/matrix-js-sdk/lib/@types/search.js.map +1 -1
  181. package/node_modules/matrix-js-sdk/lib/@types/spaces.d.ts.map +1 -1
  182. package/node_modules/matrix-js-sdk/lib/@types/spaces.js.map +1 -1
  183. package/node_modules/matrix-js-sdk/lib/@types/synapse.d.ts.map +1 -1
  184. package/node_modules/matrix-js-sdk/lib/@types/synapse.js.map +1 -1
  185. package/node_modules/matrix-js-sdk/lib/@types/threepids.js.map +1 -1
  186. package/node_modules/matrix-js-sdk/lib/@types/type-guards.d.ts +43 -0
  187. package/node_modules/matrix-js-sdk/lib/@types/type-guards.d.ts.map +1 -0
  188. package/node_modules/matrix-js-sdk/lib/@types/type-guards.js +104 -0
  189. package/node_modules/matrix-js-sdk/lib/@types/type-guards.js.map +1 -0
  190. package/node_modules/matrix-js-sdk/lib/NamespacedValue.d.ts.map +1 -1
  191. package/node_modules/matrix-js-sdk/lib/ReEmitter.d.ts.map +1 -1
  192. package/node_modules/matrix-js-sdk/lib/ToDeviceMessageQueue.d.ts.map +1 -1
  193. package/node_modules/matrix-js-sdk/lib/ToDeviceMessageQueue.js +0 -2
  194. package/node_modules/matrix-js-sdk/lib/ToDeviceMessageQueue.js.map +1 -1
  195. package/node_modules/matrix-js-sdk/lib/autodiscovery.d.ts.map +1 -1
  196. package/node_modules/matrix-js-sdk/lib/autodiscovery.js.map +1 -1
  197. package/node_modules/matrix-js-sdk/lib/browser-index.d.ts.map +1 -1
  198. package/node_modules/matrix-js-sdk/lib/browser-index.js +3 -1
  199. package/node_modules/matrix-js-sdk/lib/browser-index.js.map +1 -1
  200. package/node_modules/matrix-js-sdk/lib/capabilityPoller.d.ts.map +1 -1
  201. package/node_modules/matrix-js-sdk/lib/client.d.ts +21 -20
  202. package/node_modules/matrix-js-sdk/lib/client.d.ts.map +1 -1
  203. package/node_modules/matrix-js-sdk/lib/client.js +38 -94
  204. package/node_modules/matrix-js-sdk/lib/client.js.map +1 -1
  205. package/node_modules/matrix-js-sdk/lib/common-crypto/CryptoBackend.d.ts.map +1 -1
  206. package/node_modules/matrix-js-sdk/lib/common-crypto/key-passphrase.d.ts.map +1 -1
  207. package/node_modules/matrix-js-sdk/lib/common-crypto/key-passphrase.js +1 -4
  208. package/node_modules/matrix-js-sdk/lib/common-crypto/key-passphrase.js.map +1 -1
  209. package/node_modules/matrix-js-sdk/lib/content-helpers.d.ts.map +1 -1
  210. package/node_modules/matrix-js-sdk/lib/crypto/store/base.d.ts.map +1 -1
  211. package/node_modules/matrix-js-sdk/lib/crypto/store/base.js +0 -9
  212. package/node_modules/matrix-js-sdk/lib/crypto/store/base.js.map +1 -1
  213. package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +1 -1
  214. package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store-backend.js +2 -1
  215. package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -1
  216. package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store.d.ts.map +1 -1
  217. package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store.js +1 -1
  218. package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store.js.map +1 -1
  219. package/node_modules/matrix-js-sdk/lib/crypto/store/localStorage-crypto-store.d.ts.map +1 -1
  220. package/node_modules/matrix-js-sdk/lib/crypto/store/localStorage-crypto-store.js +0 -2
  221. package/node_modules/matrix-js-sdk/lib/crypto/store/localStorage-crypto-store.js.map +1 -1
  222. package/node_modules/matrix-js-sdk/lib/crypto/store/memory-crypto-store.d.ts.map +1 -1
  223. package/node_modules/matrix-js-sdk/lib/crypto/store/memory-crypto-store.js.map +1 -1
  224. package/node_modules/matrix-js-sdk/lib/crypto-api/index.d.ts +1 -1
  225. package/node_modules/matrix-js-sdk/lib/crypto-api/index.d.ts.map +1 -1
  226. package/node_modules/matrix-js-sdk/lib/crypto-api/index.js.map +1 -1
  227. package/node_modules/matrix-js-sdk/lib/crypto-api/keybackup.d.ts +13 -6
  228. package/node_modules/matrix-js-sdk/lib/crypto-api/keybackup.d.ts.map +1 -1
  229. package/node_modules/matrix-js-sdk/lib/crypto-api/keybackup.js.map +1 -1
  230. package/node_modules/matrix-js-sdk/lib/crypto-api/verification.d.ts +23 -5
  231. package/node_modules/matrix-js-sdk/lib/crypto-api/verification.d.ts.map +1 -1
  232. package/node_modules/matrix-js-sdk/lib/crypto-api/verification.js.map +1 -1
  233. package/node_modules/matrix-js-sdk/lib/embedded.d.ts +16 -0
  234. package/node_modules/matrix-js-sdk/lib/embedded.d.ts.map +1 -1
  235. package/node_modules/matrix-js-sdk/lib/embedded.js +19 -11
  236. package/node_modules/matrix-js-sdk/lib/embedded.js.map +1 -1
  237. package/node_modules/matrix-js-sdk/lib/errors.d.ts.map +1 -1
  238. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/ExtensibleEvent.d.ts.map +1 -1
  239. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/InvalidEventError.d.ts.map +1 -1
  240. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/MessageEvent.d.ts.map +1 -1
  241. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollEndEvent.d.ts.map +1 -1
  242. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollResponseEvent.d.ts.map +1 -1
  243. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollStartEvent.d.ts.map +1 -1
  244. package/node_modules/matrix-js-sdk/lib/feature.d.ts.map +1 -1
  245. package/node_modules/matrix-js-sdk/lib/feature.js +0 -3
  246. package/node_modules/matrix-js-sdk/lib/feature.js.map +1 -1
  247. package/node_modules/matrix-js-sdk/lib/filter-component.d.ts.map +1 -1
  248. package/node_modules/matrix-js-sdk/lib/filter-component.js +2 -5
  249. package/node_modules/matrix-js-sdk/lib/filter-component.js.map +1 -1
  250. package/node_modules/matrix-js-sdk/lib/filter.d.ts.map +1 -1
  251. package/node_modules/matrix-js-sdk/lib/filter.js +0 -4
  252. package/node_modules/matrix-js-sdk/lib/filter.js.map +1 -1
  253. package/node_modules/matrix-js-sdk/lib/http-api/errors.d.ts.map +1 -1
  254. package/node_modules/matrix-js-sdk/lib/http-api/fetch.d.ts +1 -1
  255. package/node_modules/matrix-js-sdk/lib/http-api/fetch.d.ts.map +1 -1
  256. package/node_modules/matrix-js-sdk/lib/http-api/fetch.js.map +1 -1
  257. package/node_modules/matrix-js-sdk/lib/http-api/index.d.ts +1 -7
  258. package/node_modules/matrix-js-sdk/lib/http-api/index.d.ts.map +1 -1
  259. package/node_modules/matrix-js-sdk/lib/http-api/index.js +0 -15
  260. package/node_modules/matrix-js-sdk/lib/http-api/index.js.map +1 -1
  261. package/node_modules/matrix-js-sdk/lib/http-api/interface.d.ts +0 -9
  262. package/node_modules/matrix-js-sdk/lib/http-api/interface.d.ts.map +1 -1
  263. package/node_modules/matrix-js-sdk/lib/http-api/interface.js +0 -2
  264. package/node_modules/matrix-js-sdk/lib/http-api/interface.js.map +1 -1
  265. package/node_modules/matrix-js-sdk/lib/http-api/refresh.d.ts.map +1 -1
  266. package/node_modules/matrix-js-sdk/lib/http-api/refresh.js +0 -3
  267. package/node_modules/matrix-js-sdk/lib/http-api/refresh.js.map +1 -1
  268. package/node_modules/matrix-js-sdk/lib/index.d.ts.map +1 -1
  269. package/node_modules/matrix-js-sdk/lib/interactive-auth.d.ts.map +1 -1
  270. package/node_modules/matrix-js-sdk/lib/interactive-auth.js +5 -6
  271. package/node_modules/matrix-js-sdk/lib/interactive-auth.js.map +1 -1
  272. package/node_modules/matrix-js-sdk/lib/logger.d.ts.map +1 -1
  273. package/node_modules/matrix-js-sdk/lib/logger.js +0 -2
  274. package/node_modules/matrix-js-sdk/lib/logger.js.map +1 -1
  275. package/node_modules/matrix-js-sdk/lib/matrix.d.ts +1 -1
  276. package/node_modules/matrix-js-sdk/lib/matrix.d.ts.map +1 -1
  277. package/node_modules/matrix-js-sdk/lib/matrix.js +1 -1
  278. package/node_modules/matrix-js-sdk/lib/matrix.js.map +1 -1
  279. package/node_modules/matrix-js-sdk/lib/matrixrtc/CallMembership.d.ts +3 -3
  280. package/node_modules/matrix-js-sdk/lib/matrixrtc/CallMembership.d.ts.map +1 -1
  281. package/node_modules/matrix-js-sdk/lib/matrixrtc/CallMembership.js +5 -5
  282. package/node_modules/matrix-js-sdk/lib/matrixrtc/CallMembership.js.map +1 -1
  283. package/node_modules/matrix-js-sdk/lib/matrixrtc/LivekitTransport.d.ts.map +1 -1
  284. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.d.ts +18 -1
  285. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -1
  286. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js +56 -4
  287. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
  288. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSessionManager.d.ts +14 -1
  289. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +1 -1
  290. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSessionManager.js +20 -1
  291. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -1
  292. package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.d.ts.map +1 -1
  293. package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.js +9 -6
  294. package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.js.map +1 -1
  295. package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManagerActionScheduler.d.ts.map +1 -1
  296. package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -1
  297. package/node_modules/matrix-js-sdk/lib/matrixrtc/RTCEncryptionManager.d.ts.map +1 -1
  298. package/node_modules/matrix-js-sdk/lib/matrixrtc/RTCEncryptionManager.js.map +1 -1
  299. package/node_modules/matrix-js-sdk/lib/matrixrtc/ToDeviceKeyTransport.d.ts.map +1 -1
  300. package/node_modules/matrix-js-sdk/lib/matrixrtc/ToDeviceKeyTransport.js.map +1 -1
  301. package/node_modules/matrix-js-sdk/lib/matrixrtc/index.d.ts +1 -1
  302. package/node_modules/matrix-js-sdk/lib/matrixrtc/index.d.ts.map +1 -1
  303. package/node_modules/matrix-js-sdk/lib/matrixrtc/index.js +1 -1
  304. package/node_modules/matrix-js-sdk/lib/matrixrtc/index.js.map +1 -1
  305. package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/common.d.ts.map +1 -1
  306. package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/rtc.d.ts +6 -3
  307. package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/rtc.d.ts.map +1 -1
  308. package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/rtc.js +7 -4
  309. package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/rtc.js.map +1 -1
  310. package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/session.d.ts.map +1 -1
  311. package/node_modules/matrix-js-sdk/lib/matrixrtc/types.d.ts +19 -6
  312. package/node_modules/matrix-js-sdk/lib/matrixrtc/types.d.ts.map +1 -1
  313. package/node_modules/matrix-js-sdk/lib/matrixrtc/types.js +11 -1
  314. package/node_modules/matrix-js-sdk/lib/matrixrtc/types.js.map +1 -1
  315. package/node_modules/matrix-js-sdk/lib/matrixrtc/utils.d.ts +0 -1
  316. package/node_modules/matrix-js-sdk/lib/matrixrtc/utils.d.ts.map +1 -1
  317. package/node_modules/matrix-js-sdk/lib/matrixrtc/utils.js +0 -1
  318. package/node_modules/matrix-js-sdk/lib/matrixrtc/utils.js.map +1 -1
  319. package/node_modules/matrix-js-sdk/lib/models/MSC3089Branch.d.ts.map +1 -1
  320. package/node_modules/matrix-js-sdk/lib/models/MSC3089TreeSpace.d.ts.map +1 -1
  321. package/node_modules/matrix-js-sdk/lib/models/beacon.d.ts.map +1 -1
  322. package/node_modules/matrix-js-sdk/lib/models/device.d.ts.map +1 -1
  323. package/node_modules/matrix-js-sdk/lib/models/event-context.d.ts.map +1 -1
  324. package/node_modules/matrix-js-sdk/lib/models/event-timeline-set.d.ts.map +1 -1
  325. package/node_modules/matrix-js-sdk/lib/models/event-timeline-set.js +3 -3
  326. package/node_modules/matrix-js-sdk/lib/models/event-timeline-set.js.map +1 -1
  327. package/node_modules/matrix-js-sdk/lib/models/event-timeline.d.ts.map +1 -1
  328. package/node_modules/matrix-js-sdk/lib/models/event.d.ts.map +1 -1
  329. package/node_modules/matrix-js-sdk/lib/models/event.js +0 -6
  330. package/node_modules/matrix-js-sdk/lib/models/event.js.map +1 -1
  331. package/node_modules/matrix-js-sdk/lib/models/invites-ignorer.d.ts.map +1 -1
  332. package/node_modules/matrix-js-sdk/lib/models/invites-ignorer.js.map +1 -1
  333. package/node_modules/matrix-js-sdk/lib/models/poll.d.ts.map +1 -1
  334. package/node_modules/matrix-js-sdk/lib/models/poll.js.map +1 -1
  335. package/node_modules/matrix-js-sdk/lib/models/read-receipt.d.ts.map +1 -1
  336. package/node_modules/matrix-js-sdk/lib/models/read-receipt.js.map +1 -1
  337. package/node_modules/matrix-js-sdk/lib/models/related-relations.d.ts.map +1 -1
  338. package/node_modules/matrix-js-sdk/lib/models/relations-container.d.ts +10 -0
  339. package/node_modules/matrix-js-sdk/lib/models/relations-container.d.ts.map +1 -1
  340. package/node_modules/matrix-js-sdk/lib/models/relations-container.js +39 -17
  341. package/node_modules/matrix-js-sdk/lib/models/relations-container.js.map +1 -1
  342. package/node_modules/matrix-js-sdk/lib/models/relations.d.ts.map +1 -1
  343. package/node_modules/matrix-js-sdk/lib/models/relations.js +1 -1
  344. package/node_modules/matrix-js-sdk/lib/models/relations.js.map +1 -1
  345. package/node_modules/matrix-js-sdk/lib/models/room-member.d.ts.map +1 -1
  346. package/node_modules/matrix-js-sdk/lib/models/room-receipts.d.ts.map +1 -1
  347. package/node_modules/matrix-js-sdk/lib/models/room-retention.d.ts.map +1 -1
  348. package/node_modules/matrix-js-sdk/lib/models/room-state.d.ts.map +1 -1
  349. package/node_modules/matrix-js-sdk/lib/models/room-state.js.map +1 -1
  350. package/node_modules/matrix-js-sdk/lib/models/room-sticky-events.d.ts.map +1 -1
  351. package/node_modules/matrix-js-sdk/lib/models/room-summary.d.ts.map +1 -1
  352. package/node_modules/matrix-js-sdk/lib/models/room.d.ts.map +1 -1
  353. package/node_modules/matrix-js-sdk/lib/models/room.js +9 -9
  354. package/node_modules/matrix-js-sdk/lib/models/room.js.map +1 -1
  355. package/node_modules/matrix-js-sdk/lib/models/search-result.d.ts.map +1 -1
  356. package/node_modules/matrix-js-sdk/lib/models/thread.d.ts +5 -2
  357. package/node_modules/matrix-js-sdk/lib/models/thread.d.ts.map +1 -1
  358. package/node_modules/matrix-js-sdk/lib/models/thread.js +36 -3
  359. package/node_modules/matrix-js-sdk/lib/models/thread.js.map +1 -1
  360. package/node_modules/matrix-js-sdk/lib/models/typed-event-emitter.d.ts.map +1 -1
  361. package/node_modules/matrix-js-sdk/lib/models/user.d.ts.map +1 -1
  362. package/node_modules/matrix-js-sdk/lib/oauth/authorize.d.ts +133 -0
  363. package/node_modules/matrix-js-sdk/lib/oauth/authorize.d.ts.map +1 -0
  364. package/node_modules/matrix-js-sdk/lib/oauth/authorize.js +193 -0
  365. package/node_modules/matrix-js-sdk/lib/oauth/authorize.js.map +1 -0
  366. package/node_modules/matrix-js-sdk/lib/oauth/discover.d.ts +58 -0
  367. package/node_modules/matrix-js-sdk/lib/oauth/discover.d.ts.map +1 -0
  368. package/node_modules/matrix-js-sdk/lib/oauth/discover.js +35 -0
  369. package/node_modules/matrix-js-sdk/lib/oauth/discover.js.map +1 -0
  370. package/node_modules/matrix-js-sdk/lib/oauth/error.d.ts +19 -0
  371. package/node_modules/matrix-js-sdk/lib/oauth/error.d.ts.map +1 -0
  372. package/node_modules/matrix-js-sdk/lib/oauth/error.js +36 -0
  373. package/node_modules/matrix-js-sdk/lib/oauth/error.js.map +1 -0
  374. package/node_modules/matrix-js-sdk/lib/oauth/index.d.ts +87 -0
  375. package/node_modules/matrix-js-sdk/lib/oauth/index.d.ts.map +1 -0
  376. package/node_modules/matrix-js-sdk/lib/oauth/index.js +236 -0
  377. package/node_modules/matrix-js-sdk/lib/oauth/index.js.map +1 -0
  378. package/node_modules/matrix-js-sdk/lib/oauth/register.d.ts +136 -0
  379. package/node_modules/matrix-js-sdk/lib/oauth/register.d.ts.map +1 -0
  380. package/node_modules/matrix-js-sdk/lib/oauth/register.js +73 -0
  381. package/node_modules/matrix-js-sdk/lib/oauth/register.js.map +1 -0
  382. package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.d.ts +21 -0
  383. package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.d.ts.map +1 -0
  384. package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.js +68 -0
  385. package/node_modules/matrix-js-sdk/lib/oauth/tokenRefresher.js.map +1 -0
  386. package/node_modules/matrix-js-sdk/lib/pollingCachedValue.d.ts +77 -0
  387. package/node_modules/matrix-js-sdk/lib/pollingCachedValue.d.ts.map +1 -0
  388. package/node_modules/matrix-js-sdk/lib/pollingCachedValue.js +160 -0
  389. package/node_modules/matrix-js-sdk/lib/pollingCachedValue.js.map +1 -0
  390. package/node_modules/matrix-js-sdk/lib/pushprocessor.d.ts.map +1 -1
  391. package/node_modules/matrix-js-sdk/lib/pushprocessor.js.map +1 -1
  392. package/node_modules/matrix-js-sdk/lib/realtime-callbacks.js +0 -1
  393. package/node_modules/matrix-js-sdk/lib/realtime-callbacks.js.map +1 -1
  394. package/node_modules/matrix-js-sdk/lib/receipt-accumulator.d.ts.map +1 -1
  395. package/node_modules/matrix-js-sdk/lib/receipt-accumulator.js.map +1 -1
  396. package/node_modules/matrix-js-sdk/lib/rendezvous/MSC4108SignInWithQR.d.ts +7 -7
  397. package/node_modules/matrix-js-sdk/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +1 -1
  398. package/node_modules/matrix-js-sdk/lib/rendezvous/MSC4108SignInWithQR.js +13 -14
  399. package/node_modules/matrix-js-sdk/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -1
  400. package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousError.d.ts.map +1 -1
  401. package/node_modules/matrix-js-sdk/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +1 -1
  402. package/node_modules/matrix-js-sdk/lib/rendezvous/index.d.ts.map +1 -1
  403. package/node_modules/matrix-js-sdk/lib/rendezvous/index.js.map +1 -1
  404. package/node_modules/matrix-js-sdk/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +1 -1
  405. package/node_modules/matrix-js-sdk/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -1
  406. package/node_modules/matrix-js-sdk/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -1
  407. package/node_modules/matrix-js-sdk/lib/retentionPolicy.d.ts.map +1 -1
  408. package/node_modules/matrix-js-sdk/lib/room-hierarchy.d.ts.map +1 -1
  409. package/node_modules/matrix-js-sdk/lib/rtcTransportsCachedValue.d.ts +9 -0
  410. package/node_modules/matrix-js-sdk/lib/rtcTransportsCachedValue.d.ts.map +1 -0
  411. package/node_modules/matrix-js-sdk/lib/rtcTransportsCachedValue.js +38 -0
  412. package/node_modules/matrix-js-sdk/lib/rtcTransportsCachedValue.js.map +1 -0
  413. package/node_modules/matrix-js-sdk/lib/rust-crypto/CrossSigningIdentity.d.ts.map +1 -1
  414. package/node_modules/matrix-js-sdk/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +1 -1
  415. package/node_modules/matrix-js-sdk/lib/rust-crypto/DehydratedDeviceManager.js +11 -13
  416. package/node_modules/matrix-js-sdk/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -1
  417. package/node_modules/matrix-js-sdk/lib/rust-crypto/KeyClaimManager.d.ts.map +1 -1
  418. package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +1 -1
  419. package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestProcessor.js +0 -2
  420. package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -1
  421. package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +1 -1
  422. package/node_modules/matrix-js-sdk/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +1 -1
  423. package/node_modules/matrix-js-sdk/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -1
  424. package/node_modules/matrix-js-sdk/lib/rust-crypto/RoomEncryptor.d.ts.map +1 -1
  425. package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.d.ts +23 -4
  426. package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.d.ts.map +1 -1
  427. package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.js +62 -21
  428. package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.js.map +1 -1
  429. package/node_modules/matrix-js-sdk/lib/rust-crypto/device-converter.d.ts.map +1 -1
  430. package/node_modules/matrix-js-sdk/lib/rust-crypto/device-converter.js +1 -0
  431. package/node_modules/matrix-js-sdk/lib/rust-crypto/device-converter.js.map +1 -1
  432. package/node_modules/matrix-js-sdk/lib/rust-crypto/index.d.ts +17 -4
  433. package/node_modules/matrix-js-sdk/lib/rust-crypto/index.d.ts.map +1 -1
  434. package/node_modules/matrix-js-sdk/lib/rust-crypto/index.js +21 -4
  435. package/node_modules/matrix-js-sdk/lib/rust-crypto/index.js.map +1 -1
  436. package/node_modules/matrix-js-sdk/lib/rust-crypto/libolm_migration.d.ts.map +1 -1
  437. package/node_modules/matrix-js-sdk/lib/rust-crypto/libolm_migration.js +0 -2
  438. package/node_modules/matrix-js-sdk/lib/rust-crypto/libolm_migration.js.map +1 -1
  439. package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.d.ts.map +1 -1
  440. package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.js +0 -3
  441. package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.js.map +1 -1
  442. package/node_modules/matrix-js-sdk/lib/rust-crypto/verification.d.ts.map +1 -1
  443. package/node_modules/matrix-js-sdk/lib/scheduler.d.ts.map +1 -1
  444. package/node_modules/matrix-js-sdk/lib/scheduler.js +0 -3
  445. package/node_modules/matrix-js-sdk/lib/scheduler.js.map +1 -1
  446. package/node_modules/matrix-js-sdk/lib/secret-storage.d.ts.map +1 -1
  447. package/node_modules/matrix-js-sdk/lib/serverCapabilities.d.ts.map +1 -1
  448. package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.d.ts.map +1 -1
  449. package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js +6 -0
  450. package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js.map +1 -1
  451. package/node_modules/matrix-js-sdk/lib/sliding-sync.d.ts.map +1 -1
  452. package/node_modules/matrix-js-sdk/lib/sliding-sync.js +3 -0
  453. package/node_modules/matrix-js-sdk/lib/sliding-sync.js.map +1 -1
  454. package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.d.ts.map +1 -1
  455. package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.js +1 -1
  456. package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.js.map +1 -1
  457. package/node_modules/matrix-js-sdk/lib/store/indexeddb-remote-backend.d.ts.map +1 -1
  458. package/node_modules/matrix-js-sdk/lib/store/indexeddb-store-worker.d.ts.map +1 -1
  459. package/node_modules/matrix-js-sdk/lib/store/indexeddb-store-worker.js +1 -0
  460. package/node_modules/matrix-js-sdk/lib/store/indexeddb-store-worker.js.map +1 -1
  461. package/node_modules/matrix-js-sdk/lib/store/indexeddb.d.ts.map +1 -1
  462. package/node_modules/matrix-js-sdk/lib/store/indexeddb.js +0 -2
  463. package/node_modules/matrix-js-sdk/lib/store/indexeddb.js.map +1 -1
  464. package/node_modules/matrix-js-sdk/lib/store/memory.d.ts.map +1 -1
  465. package/node_modules/matrix-js-sdk/lib/store/memory.js +7 -9
  466. package/node_modules/matrix-js-sdk/lib/store/memory.js.map +1 -1
  467. package/node_modules/matrix-js-sdk/lib/store/stub.d.ts.map +1 -1
  468. package/node_modules/matrix-js-sdk/lib/sync-accumulator.d.ts.map +1 -1
  469. package/node_modules/matrix-js-sdk/lib/sync-accumulator.js +1 -5
  470. package/node_modules/matrix-js-sdk/lib/sync-accumulator.js.map +1 -1
  471. package/node_modules/matrix-js-sdk/lib/sync.d.ts.map +1 -1
  472. package/node_modules/matrix-js-sdk/lib/sync.js +1 -1
  473. package/node_modules/matrix-js-sdk/lib/sync.js.map +1 -1
  474. package/node_modules/matrix-js-sdk/lib/testing.d.ts +2 -10
  475. package/node_modules/matrix-js-sdk/lib/testing.d.ts.map +1 -1
  476. package/node_modules/matrix-js-sdk/lib/testing.js +4 -19
  477. package/node_modules/matrix-js-sdk/lib/testing.js.map +1 -1
  478. package/node_modules/matrix-js-sdk/lib/timeline-window.d.ts.map +1 -1
  479. package/node_modules/matrix-js-sdk/lib/timeline-window.js +0 -1
  480. package/node_modules/matrix-js-sdk/lib/timeline-window.js.map +1 -1
  481. package/node_modules/matrix-js-sdk/lib/utils/internal/deriveKeys.d.ts.map +1 -1
  482. package/node_modules/matrix-js-sdk/lib/utils/internal/deriveKeys.js +0 -1
  483. package/node_modules/matrix-js-sdk/lib/utils/internal/deriveKeys.js.map +1 -1
  484. package/node_modules/matrix-js-sdk/lib/utils.d.ts +1 -1
  485. package/node_modules/matrix-js-sdk/lib/utils.d.ts.map +1 -1
  486. package/node_modules/matrix-js-sdk/lib/utils.js +1 -0
  487. package/node_modules/matrix-js-sdk/lib/utils.js.map +1 -1
  488. package/node_modules/matrix-js-sdk/lib/webrtc/call.d.ts.map +1 -1
  489. package/node_modules/matrix-js-sdk/lib/webrtc/call.js.map +1 -1
  490. package/node_modules/matrix-js-sdk/lib/webrtc/callEventHandler.d.ts.map +1 -1
  491. package/node_modules/matrix-js-sdk/lib/webrtc/callEventTypes.d.ts.map +1 -1
  492. package/node_modules/matrix-js-sdk/lib/webrtc/callEventTypes.js +0 -5
  493. package/node_modules/matrix-js-sdk/lib/webrtc/callEventTypes.js.map +1 -1
  494. package/node_modules/matrix-js-sdk/lib/webrtc/callFeed.d.ts.map +1 -1
  495. package/node_modules/matrix-js-sdk/lib/webrtc/groupCall.d.ts.map +1 -1
  496. package/node_modules/matrix-js-sdk/lib/webrtc/groupCall.js.map +1 -1
  497. package/node_modules/matrix-js-sdk/lib/webrtc/groupCallEventHandler.d.ts.map +1 -1
  498. package/node_modules/matrix-js-sdk/lib/webrtc/mediaHandler.d.ts.map +1 -1
  499. package/node_modules/matrix-js-sdk/lib/webrtc/mediaHandler.js.map +1 -1
  500. package/node_modules/matrix-js-sdk/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +1 -1
  501. package/node_modules/matrix-js-sdk/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +1 -1
  502. package/node_modules/matrix-js-sdk/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -1
  503. package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +1 -1
  504. package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +1 -1
  505. package/node_modules/matrix-js-sdk/lib/webrtc/stats/groupCallStats.d.ts.map +1 -1
  506. package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +1 -1
  507. package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +1 -1
  508. package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +1 -1
  509. package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +1 -1
  510. package/node_modules/matrix-js-sdk/lib/webrtc/stats/statsReportEmitter.d.ts.map +1 -1
  511. package/node_modules/matrix-js-sdk/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +1 -1
  512. package/node_modules/matrix-js-sdk/lib/webrtc/stats/trackStatsBuilder.d.ts.map +1 -1
  513. package/node_modules/matrix-js-sdk/lib/webrtc/stats/transportStatsBuilder.d.ts.map +1 -1
  514. package/node_modules/matrix-js-sdk/lib/webrtc/stats/transportStatsBuilder.js.map +1 -1
  515. package/node_modules/matrix-js-sdk/lib/webrtc/stats/valueFormatter.d.ts.map +1 -1
  516. package/node_modules/matrix-js-sdk/lib/wellKnownCachedValue.d.ts +8 -0
  517. package/node_modules/matrix-js-sdk/lib/wellKnownCachedValue.d.ts.map +1 -0
  518. package/node_modules/matrix-js-sdk/lib/wellKnownCachedValue.js +34 -0
  519. package/node_modules/matrix-js-sdk/lib/wellKnownCachedValue.js.map +1 -0
  520. package/node_modules/matrix-js-sdk/node_modules/content-type/README.md +2 -0
  521. package/node_modules/matrix-js-sdk/node_modules/content-type/dist/index.d.ts +20 -0
  522. package/node_modules/matrix-js-sdk/node_modules/content-type/dist/index.js +20 -14
  523. package/node_modules/matrix-js-sdk/node_modules/content-type/dist/index.js.map +1 -1
  524. package/node_modules/matrix-js-sdk/node_modules/content-type/package.json +1 -1
  525. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/dist/api.js +227 -131
  526. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/dist/api.min.js +1 -1
  527. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.d.ts +1 -0
  528. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.js +142 -97
  529. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/ClientWidgetApi.js.map +1 -1
  530. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.d.ts +15 -0
  531. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.js +61 -19
  532. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/WidgetApi.js.map +1 -1
  533. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.d.ts +15 -11
  534. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.js +19 -13
  535. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/driver/WidgetDriver.js.map +1 -1
  536. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/index.d.ts +1 -0
  537. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/index.js.map +1 -1
  538. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.d.ts +2 -1
  539. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.js +2 -1
  540. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/ApiVersion.js.map +1 -1
  541. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.d.ts +5 -1
  542. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.js +1 -0
  543. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/Capabilities.js.map +1 -1
  544. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcTransportsAction.d.ts +24 -0
  545. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcTransportsAction.js +6 -0
  546. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/RtcTransportsAction.js.map +1 -0
  547. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SendEventAction.d.ts +1 -0
  548. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/SendEventAction.js.map +1 -1
  549. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.d.ts +5 -1
  550. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.js +1 -0
  551. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/lib/interfaces/WidgetApiAction.js.map +1 -1
  552. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/package.json +1 -1
  553. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/ClientWidgetApi.ts +37 -14
  554. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/WidgetApi.ts +69 -0
  555. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/driver/WidgetDriver.ts +19 -12
  556. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/index.ts +1 -0
  557. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/ApiVersion.ts +2 -0
  558. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/Capabilities.ts +4 -0
  559. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/RtcTransportsAction.ts +44 -0
  560. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/SendEventAction.ts +1 -0
  561. package/node_modules/matrix-js-sdk/node_modules/matrix-widget-api/src/interfaces/WidgetApiAction.ts +5 -0
  562. package/node_modules/matrix-js-sdk/package.json +10 -12
  563. package/node_modules/matrix-js-sdk/src/@types/PushRules.ts +0 -5
  564. package/node_modules/matrix-js-sdk/src/@types/auth.ts +0 -12
  565. package/node_modules/matrix-js-sdk/src/@types/beacon.ts +1 -1
  566. package/node_modules/matrix-js-sdk/src/@types/crypto.ts +2 -6
  567. package/node_modules/matrix-js-sdk/src/@types/event.ts +3 -0
  568. package/node_modules/matrix-js-sdk/src/@types/extensible_events.ts +5 -6
  569. package/node_modules/matrix-js-sdk/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -1
  570. package/node_modules/matrix-js-sdk/src/@types/media.ts +1 -1
  571. package/node_modules/matrix-js-sdk/src/@types/partials.ts +0 -2
  572. package/node_modules/matrix-js-sdk/src/@types/requests.ts +0 -5
  573. package/node_modules/matrix-js-sdk/src/@types/search.ts +0 -2
  574. package/node_modules/matrix-js-sdk/src/@types/spaces.ts +0 -2
  575. package/node_modules/matrix-js-sdk/src/@types/synapse.ts +0 -2
  576. package/node_modules/matrix-js-sdk/src/@types/threepids.ts +2 -2
  577. package/node_modules/matrix-js-sdk/src/@types/type-guards.ts +126 -0
  578. package/node_modules/matrix-js-sdk/src/ToDeviceMessageQueue.ts +0 -2
  579. package/node_modules/matrix-js-sdk/src/autodiscovery.ts +2 -2
  580. package/node_modules/matrix-js-sdk/src/browser-index.ts +4 -4
  581. package/node_modules/matrix-js-sdk/src/client.ts +79 -130
  582. package/node_modules/matrix-js-sdk/src/common-crypto/key-passphrase.ts +1 -2
  583. package/node_modules/matrix-js-sdk/src/crypto/store/base.ts +1 -8
  584. package/node_modules/matrix-js-sdk/src/crypto/store/indexeddb-crypto-store-backend.ts +3 -2
  585. package/node_modules/matrix-js-sdk/src/crypto/store/indexeddb-crypto-store.ts +1 -3
  586. package/node_modules/matrix-js-sdk/src/crypto/store/localStorage-crypto-store.ts +0 -1
  587. package/node_modules/matrix-js-sdk/src/crypto/store/memory-crypto-store.ts +1 -1
  588. package/node_modules/matrix-js-sdk/src/crypto-api/index.ts +1 -1
  589. package/node_modules/matrix-js-sdk/src/crypto-api/keybackup.ts +14 -7
  590. package/node_modules/matrix-js-sdk/src/crypto-api/verification.ts +23 -5
  591. package/node_modules/matrix-js-sdk/src/embedded.ts +34 -16
  592. package/node_modules/matrix-js-sdk/src/feature.ts +0 -3
  593. package/node_modules/matrix-js-sdk/src/filter-component.ts +1 -2
  594. package/node_modules/matrix-js-sdk/src/filter.ts +0 -3
  595. package/node_modules/matrix-js-sdk/src/http-api/fetch.ts +1 -1
  596. package/node_modules/matrix-js-sdk/src/http-api/index.ts +1 -23
  597. package/node_modules/matrix-js-sdk/src/http-api/interface.ts +0 -12
  598. package/node_modules/matrix-js-sdk/src/http-api/refresh.ts +0 -1
  599. package/node_modules/matrix-js-sdk/src/interactive-auth.ts +4 -4
  600. package/node_modules/matrix-js-sdk/src/logger.ts +0 -2
  601. package/node_modules/matrix-js-sdk/src/matrix.ts +1 -1
  602. package/node_modules/matrix-js-sdk/src/matrixrtc/CallMembership.ts +5 -5
  603. package/node_modules/matrix-js-sdk/src/matrixrtc/MatrixRTCSession.ts +73 -6
  604. package/node_modules/matrix-js-sdk/src/matrixrtc/MatrixRTCSessionManager.ts +21 -2
  605. package/node_modules/matrix-js-sdk/src/matrixrtc/MembershipManager.ts +9 -6
  606. package/node_modules/matrix-js-sdk/src/matrixrtc/MembershipManagerActionScheduler.ts +1 -1
  607. package/node_modules/matrix-js-sdk/src/matrixrtc/RTCEncryptionManager.ts +2 -2
  608. package/node_modules/matrix-js-sdk/src/matrixrtc/ToDeviceKeyTransport.ts +3 -3
  609. package/node_modules/matrix-js-sdk/src/matrixrtc/index.ts +1 -1
  610. package/node_modules/matrix-js-sdk/src/matrixrtc/membershipData/rtc.ts +19 -8
  611. package/node_modules/matrix-js-sdk/src/matrixrtc/types.ts +24 -7
  612. package/node_modules/matrix-js-sdk/src/matrixrtc/utils.ts +0 -2
  613. package/node_modules/matrix-js-sdk/src/models/event-timeline-set.ts +3 -3
  614. package/node_modules/matrix-js-sdk/src/models/event.ts +7 -13
  615. package/node_modules/matrix-js-sdk/src/models/invites-ignorer.ts +1 -1
  616. package/node_modules/matrix-js-sdk/src/models/poll.ts +1 -1
  617. package/node_modules/matrix-js-sdk/src/models/read-receipt.ts +1 -1
  618. package/node_modules/matrix-js-sdk/src/models/relations-container.ts +55 -19
  619. package/node_modules/matrix-js-sdk/src/models/relations.ts +1 -1
  620. package/node_modules/matrix-js-sdk/src/models/room-state.ts +0 -3
  621. package/node_modules/matrix-js-sdk/src/models/room.ts +15 -15
  622. package/node_modules/matrix-js-sdk/src/models/thread.ts +51 -6
  623. package/node_modules/matrix-js-sdk/src/oauth/authorize.ts +274 -0
  624. package/node_modules/matrix-js-sdk/src/oauth/discover.ts +102 -0
  625. package/node_modules/matrix-js-sdk/src/{oidc → oauth}/error.ts +8 -7
  626. package/node_modules/matrix-js-sdk/src/oauth/index.ts +297 -0
  627. package/node_modules/matrix-js-sdk/src/oauth/register.ts +166 -0
  628. package/node_modules/matrix-js-sdk/src/oauth/tokenRefresher.ts +77 -0
  629. package/node_modules/matrix-js-sdk/src/pollingCachedValue.ts +184 -0
  630. package/node_modules/matrix-js-sdk/src/pushprocessor.ts +3 -3
  631. package/node_modules/matrix-js-sdk/src/realtime-callbacks.ts +0 -1
  632. package/node_modules/matrix-js-sdk/src/receipt-accumulator.ts +1 -2
  633. package/node_modules/matrix-js-sdk/src/rendezvous/MSC4108SignInWithQR.ts +14 -16
  634. package/node_modules/matrix-js-sdk/src/rendezvous/index.ts +2 -2
  635. package/node_modules/matrix-js-sdk/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -1
  636. package/node_modules/matrix-js-sdk/src/rtcTransportsCachedValue.ts +40 -0
  637. package/node_modules/matrix-js-sdk/src/rust-crypto/DehydratedDeviceManager.ts +14 -13
  638. package/node_modules/matrix-js-sdk/src/rust-crypto/OutgoingRequestProcessor.ts +0 -1
  639. package/node_modules/matrix-js-sdk/src/rust-crypto/PerSessionKeyBackupDownloader.ts +1 -1
  640. package/node_modules/matrix-js-sdk/src/rust-crypto/backup.ts +67 -33
  641. package/node_modules/matrix-js-sdk/src/rust-crypto/device-converter.ts +1 -0
  642. package/node_modules/matrix-js-sdk/src/rust-crypto/index.ts +32 -23
  643. package/node_modules/matrix-js-sdk/src/rust-crypto/libolm_migration.ts +1 -3
  644. package/node_modules/matrix-js-sdk/src/rust-crypto/rust-crypto.ts +3 -6
  645. package/node_modules/matrix-js-sdk/src/scheduler.ts +0 -3
  646. package/node_modules/matrix-js-sdk/src/sliding-sync-sdk.ts +4 -1
  647. package/node_modules/matrix-js-sdk/src/sliding-sync.ts +3 -1
  648. package/node_modules/matrix-js-sdk/src/store/indexeddb-local-backend.ts +1 -1
  649. package/node_modules/matrix-js-sdk/src/store/indexeddb-store-worker.ts +1 -0
  650. package/node_modules/matrix-js-sdk/src/store/indexeddb.ts +0 -2
  651. package/node_modules/matrix-js-sdk/src/store/memory.ts +7 -9
  652. package/node_modules/matrix-js-sdk/src/sync-accumulator.ts +1 -3
  653. package/node_modules/matrix-js-sdk/src/sync.ts +5 -6
  654. package/node_modules/matrix-js-sdk/src/testing.ts +3 -22
  655. package/node_modules/matrix-js-sdk/src/timeline-window.ts +0 -1
  656. package/node_modules/matrix-js-sdk/src/utils/internal/deriveKeys.ts +0 -1
  657. package/node_modules/matrix-js-sdk/src/utils.ts +3 -2
  658. package/node_modules/matrix-js-sdk/src/webrtc/call.ts +6 -6
  659. package/node_modules/matrix-js-sdk/src/webrtc/callEventTypes.ts +0 -5
  660. package/node_modules/matrix-js-sdk/src/webrtc/groupCall.ts +7 -7
  661. package/node_modules/matrix-js-sdk/src/webrtc/mediaHandler.ts +1 -1
  662. package/node_modules/matrix-js-sdk/src/webrtc/stats/callStatsReportGatherer.ts +2 -2
  663. package/node_modules/matrix-js-sdk/src/webrtc/stats/transportStatsBuilder.ts +1 -1
  664. package/node_modules/matrix-js-sdk/src/wellKnownCachedValue.ts +34 -0
  665. package/node_modules/music-metadata/LICENSE.txt +9 -9
  666. package/node_modules/music-metadata/README.md +878 -878
  667. package/node_modules/music-metadata/lib/ParseError.d.ts +1 -1
  668. package/node_modules/music-metadata/lib/ParseError.js +1 -1
  669. package/node_modules/music-metadata/lib/asf/AsfObject.d.ts +1 -4
  670. package/node_modules/music-metadata/lib/asf/AsfObject.js +66 -30
  671. package/node_modules/music-metadata/lib/asf/AsfParser.d.ts +5 -1
  672. package/node_modules/music-metadata/lib/asf/AsfParser.js +94 -25
  673. package/node_modules/music-metadata/lib/dsf/DsfChunk.js +2 -2
  674. package/node_modules/music-metadata/lib/dsf/DsfParser.js +38 -13
  675. package/node_modules/music-metadata/lib/mp4/AtomToken.js +2 -1
  676. package/node_modules/music-metadata/lib/mp4/MP4Parser.js +34 -7
  677. package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.d.ts +7 -0
  678. package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.js +13 -0
  679. package/node_modules/music-metadata/lib/riff/RiffChunk.js +1 -1
  680. package/node_modules/music-metadata/node_modules/content-type/README.md +2 -0
  681. package/node_modules/music-metadata/node_modules/content-type/dist/index.d.ts +20 -0
  682. package/node_modules/music-metadata/node_modules/content-type/dist/index.js +20 -14
  683. package/node_modules/music-metadata/node_modules/content-type/dist/index.js.map +1 -1
  684. package/node_modules/music-metadata/node_modules/content-type/package.json +1 -1
  685. package/node_modules/music-metadata/node_modules/file-type/package.json +1 -1
  686. package/node_modules/music-metadata/node_modules/file-type/readme.md +3 -0
  687. package/node_modules/music-metadata/node_modules/file-type/source/detectors/zip.js +6 -1
  688. package/node_modules/music-metadata/node_modules/file-type/source/index.d.ts +3 -0
  689. package/node_modules/music-metadata/node_modules/file-type/source/index.js +25 -13
  690. package/node_modules/music-metadata/package.json +156 -156
  691. package/node_modules/typebox/build/format/date.d.mts +1 -1
  692. package/node_modules/typebox/build/format/date.mjs +1 -1
  693. package/node_modules/typebox/build/format/date_time.d.mts +2 -2
  694. package/node_modules/typebox/build/format/date_time.mjs +3 -3
  695. package/node_modules/typebox/build/format/email.d.mts +1 -1
  696. package/node_modules/typebox/build/format/email.mjs +2 -2
  697. package/node_modules/typebox/build/format/hostname.mjs +2 -10
  698. package/node_modules/typebox/build/format/idn_email.d.mts +1 -1
  699. package/node_modules/typebox/build/format/idn_email.mjs +3 -3
  700. package/node_modules/typebox/build/format/idn_hostname.d.mts +1 -0
  701. package/node_modules/typebox/build/format/idn_hostname.mjs +3 -11
  702. package/node_modules/typebox/build/format/idna/format/bidi.d.mts +3 -0
  703. package/node_modules/typebox/build/format/idna/format/bidi.mjs +98 -0
  704. package/node_modules/typebox/build/format/idna/format/puny.d.mts +3 -0
  705. package/node_modules/typebox/build/format/idna/format/puny.mjs +144 -0
  706. package/node_modules/typebox/build/format/idna/hostname.d.mts +1 -0
  707. package/node_modules/typebox/build/format/idna/hostname.mjs +16 -0
  708. package/node_modules/typebox/build/format/idna/idn-hostname.d.mts +1 -0
  709. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +23 -0
  710. package/node_modules/typebox/build/format/idna/index.d.mts +2 -0
  711. package/node_modules/typebox/build/format/idna/index.mjs +2 -0
  712. package/node_modules/typebox/build/format/idna/label/ascii.d.mts +1 -0
  713. package/node_modules/typebox/build/format/idna/label/ascii.mjs +9 -0
  714. package/node_modules/typebox/build/format/idna/label/puny.d.mts +1 -0
  715. package/node_modules/typebox/build/format/idna/label/puny.mjs +28 -0
  716. package/node_modules/typebox/build/format/idna/label/unicode.d.mts +1 -0
  717. package/node_modules/typebox/build/format/idna/label/unicode.mjs +106 -0
  718. package/node_modules/typebox/build/format/idna/pattern/pattern.d.mts +30 -0
  719. package/node_modules/typebox/build/format/idna/pattern/pattern.mjs +70 -0
  720. package/node_modules/typebox/build/format/ipv4.d.mts +0 -1
  721. package/node_modules/typebox/build/format/ipv4.mjs +2 -32
  722. package/node_modules/typebox/build/format/ipv6.mjs +2 -61
  723. package/node_modules/typebox/build/format/iri.d.mts +2 -2
  724. package/node_modules/typebox/build/format/iri.mjs +26 -8
  725. package/node_modules/typebox/build/format/iri_reference.d.mts +2 -2
  726. package/node_modules/typebox/build/format/iri_reference.mjs +9 -55
  727. package/node_modules/typebox/build/format/regex.d.mts +1 -2
  728. package/node_modules/typebox/build/format/regex.mjs +2 -6
  729. package/node_modules/typebox/build/format/time.d.mts +2 -2
  730. package/node_modules/typebox/build/format/time.mjs +19 -14
  731. package/node_modules/typebox/build/format/uri.d.mts +1 -1
  732. package/node_modules/typebox/build/format/uri.mjs +3 -130
  733. package/node_modules/typebox/build/format/uri_reference.d.mts +1 -1
  734. package/node_modules/typebox/build/format/uri_reference.mjs +2 -3
  735. package/node_modules/typebox/build/format/uri_template.d.mts +2 -3
  736. package/node_modules/typebox/build/format/uri_template.mjs +4 -5
  737. package/node_modules/typebox/build/format/url.d.mts +3 -3
  738. package/node_modules/typebox/build/format/url.mjs +4 -5
  739. package/node_modules/typebox/build/guard/emit.d.mts +3 -1
  740. package/node_modules/typebox/build/guard/emit.mjs +12 -5
  741. package/node_modules/typebox/build/guard/guard.d.mts +8 -2
  742. package/node_modules/typebox/build/guard/guard.mjs +25 -4
  743. package/node_modules/typebox/build/guard/string.d.mts +2 -2
  744. package/node_modules/typebox/build/guard/string.mjs +7 -7
  745. package/node_modules/typebox/build/schema/engine/_context.mjs +3 -3
  746. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -2
  747. package/node_modules/typebox/build/schema/engine/_regexp.d.mts +2 -0
  748. package/node_modules/typebox/build/schema/engine/_regexp.mjs +4 -0
  749. package/node_modules/typebox/build/schema/engine/_stack.mjs +12 -13
  750. package/node_modules/typebox/build/schema/engine/additionalItems.mjs +17 -7
  751. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +4 -3
  752. package/node_modules/typebox/build/schema/engine/contains.mjs +18 -6
  753. package/node_modules/typebox/build/schema/engine/enum.mjs +1 -1
  754. package/node_modules/typebox/build/schema/engine/items.mjs +26 -6
  755. package/node_modules/typebox/build/schema/engine/maxContains.mjs +3 -3
  756. package/node_modules/typebox/build/schema/engine/minContains.mjs +14 -4
  757. package/node_modules/typebox/build/schema/engine/not.mjs +4 -2
  758. package/node_modules/typebox/build/schema/engine/oneOf.mjs +7 -6
  759. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -2
  760. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +4 -3
  761. package/node_modules/typebox/build/schema/engine/ref.mjs +1 -7
  762. package/node_modules/typebox/build/schema/engine/schema.mjs +13 -4
  763. package/node_modules/typebox/build/schema/engine/type.mjs +1 -1
  764. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +4 -1
  765. package/node_modules/typebox/build/schema/resolve/resolve.mjs +202 -1
  766. package/node_modules/typebox/build/schema/static/propertyNames.d.mts +5 -0
  767. package/node_modules/typebox/build/schema/static/propertyNames.mjs +3 -0
  768. package/node_modules/typebox/build/schema/static/schema.d.mts +3 -0
  769. package/node_modules/typebox/build/schema/types/index.d.mts +0 -2
  770. package/node_modules/typebox/build/schema/types/index.mjs +0 -2
  771. package/node_modules/typebox/build/system/memory/clone.mjs +14 -11
  772. package/node_modules/typebox/build/system/memory/discard.mjs +6 -5
  773. package/node_modules/typebox/build/system/settings/settings.d.mts +9 -0
  774. package/node_modules/typebox/build/system/settings/settings.mjs +2 -0
  775. package/node_modules/typebox/build/type/engine/call/distribute_arguments.d.mts +6 -1
  776. package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +16 -3
  777. package/node_modules/typebox/build/type/engine/call/instantiate.mjs +34 -4
  778. package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +5 -5
  779. package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +20 -26
  780. package/node_modules/typebox/build/type/engine/evaluate/compare.d.mts +6 -10
  781. package/node_modules/typebox/build/type/engine/evaluate/compare.mjs +9 -13
  782. package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +7 -4
  783. package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +12 -19
  784. package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +4 -20
  785. package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +8 -20
  786. package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +4 -4
  787. package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +11 -8
  788. package/node_modules/typebox/build/type/engine/evaluate/flatten.d.mts +1 -1
  789. package/node_modules/typebox/build/type/engine/evaluate/flatten.mjs +3 -4
  790. package/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +17 -2
  791. package/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +26 -6
  792. package/node_modules/typebox/build/type/engine/exclude/operation.mjs +3 -4
  793. package/node_modules/typebox/build/type/engine/extract/operation.d.mts +1 -1
  794. package/node_modules/typebox/build/type/engine/extract/operation.mjs +3 -4
  795. package/node_modules/typebox/build/type/engine/priority/priority.d.mts +2 -2
  796. package/node_modules/typebox/build/type/engine/priority/priority.mjs +3 -4
  797. package/node_modules/typebox/build/type/script/mapping.d.mts +32 -29
  798. package/node_modules/typebox/build/type/script/mapping.mjs +18 -25
  799. package/node_modules/typebox/build/type/script/parser.d.mts +19 -25
  800. package/node_modules/typebox/build/type/script/parser.mjs +27 -23
  801. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -2
  802. package/node_modules/typebox/build/value/errors/errors.mjs +1 -1
  803. package/node_modules/typebox/package.json +27 -27
  804. package/node_modules/typebox/readme.md +79 -82
  805. package/openclaw.plugin.json +16 -1
  806. package/package.json +10 -10
  807. package/dist/env-auth-MVS-Vv41.js +0 -64
  808. package/dist/media-text-Dh-DpTc3.js +0 -149
  809. package/dist/probe.runtime-NIJZYqc2.js +0 -2
  810. package/dist/runtime-api-BGO16Fu8.js +0 -21
  811. package/dist/timeout-abort-signal-DMrgRFIy.js +0 -2
  812. package/node_modules/markdown-it/dist/index.cjs.js.map +0 -1
  813. package/node_modules/markdown-it/dist/markdown-it.js +0 -3975
  814. package/node_modules/markdown-it/dist/markdown-it.js.map +0 -1
  815. package/node_modules/markdown-it/dist/markdown-it.min.js +0 -3
  816. package/node_modules/markdown-it/dist/markdown-it.min.js.map +0 -1
  817. package/node_modules/markdown-it/index.mjs +0 -1
  818. package/node_modules/markdown-it/lib/common/html_blocks.mjs +0 -67
  819. package/node_modules/markdown-it/lib/common/html_re.mjs +0 -25
  820. package/node_modules/markdown-it/lib/common/utils.mjs +0 -324
  821. package/node_modules/markdown-it/lib/helpers/index.mjs +0 -11
  822. package/node_modules/markdown-it/lib/helpers/parse_link_destination.mjs +0 -77
  823. package/node_modules/markdown-it/lib/helpers/parse_link_label.mjs +0 -49
  824. package/node_modules/markdown-it/lib/helpers/parse_link_title.mjs +0 -66
  825. package/node_modules/markdown-it/lib/index.mjs +0 -565
  826. package/node_modules/markdown-it/lib/parser_block.mjs +0 -134
  827. package/node_modules/markdown-it/lib/parser_core.mjs +0 -62
  828. package/node_modules/markdown-it/lib/parser_inline.mjs +0 -197
  829. package/node_modules/markdown-it/lib/presets/commonmark.mjs +0 -88
  830. package/node_modules/markdown-it/lib/presets/default.mjs +0 -47
  831. package/node_modules/markdown-it/lib/presets/zero.mjs +0 -70
  832. package/node_modules/markdown-it/lib/renderer.mjs +0 -322
  833. package/node_modules/markdown-it/lib/ruler.mjs +0 -340
  834. package/node_modules/markdown-it/lib/rules_block/blockquote.mjs +0 -209
  835. package/node_modules/markdown-it/lib/rules_block/code.mjs +0 -30
  836. package/node_modules/markdown-it/lib/rules_block/fence.mjs +0 -94
  837. package/node_modules/markdown-it/lib/rules_block/heading.mjs +0 -51
  838. package/node_modules/markdown-it/lib/rules_block/hr.mjs +0 -40
  839. package/node_modules/markdown-it/lib/rules_block/html_block.mjs +0 -80
  840. package/node_modules/markdown-it/lib/rules_block/lheading.mjs +0 -85
  841. package/node_modules/markdown-it/lib/rules_block/list.mjs +0 -331
  842. package/node_modules/markdown-it/lib/rules_block/paragraph.mjs +0 -48
  843. package/node_modules/markdown-it/lib/rules_block/reference.mjs +0 -212
  844. package/node_modules/markdown-it/lib/rules_block/state_block.mjs +0 -220
  845. package/node_modules/markdown-it/lib/rules_block/table.mjs +0 -228
  846. package/node_modules/markdown-it/lib/rules_core/block.mjs +0 -13
  847. package/node_modules/markdown-it/lib/rules_core/inline.mjs +0 -11
  848. package/node_modules/markdown-it/lib/rules_core/linkify.mjs +0 -134
  849. package/node_modules/markdown-it/lib/rules_core/normalize.mjs +0 -17
  850. package/node_modules/markdown-it/lib/rules_core/replacements.mjs +0 -101
  851. package/node_modules/markdown-it/lib/rules_core/smartquotes.mjs +0 -209
  852. package/node_modules/markdown-it/lib/rules_core/state_core.mjs +0 -17
  853. package/node_modules/markdown-it/lib/rules_core/text_join.mjs +0 -43
  854. package/node_modules/markdown-it/lib/rules_inline/autolink.mjs +0 -72
  855. package/node_modules/markdown-it/lib/rules_inline/backticks.mjs +0 -60
  856. package/node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs +0 -124
  857. package/node_modules/markdown-it/lib/rules_inline/emphasis.mjs +0 -123
  858. package/node_modules/markdown-it/lib/rules_inline/entity.mjs +0 -51
  859. package/node_modules/markdown-it/lib/rules_inline/escape.mjs +0 -83
  860. package/node_modules/markdown-it/lib/rules_inline/fragments_join.mjs +0 -38
  861. package/node_modules/markdown-it/lib/rules_inline/html_inline.mjs +0 -50
  862. package/node_modules/markdown-it/lib/rules_inline/image.mjs +0 -138
  863. package/node_modules/markdown-it/lib/rules_inline/link.mjs +0 -139
  864. package/node_modules/markdown-it/lib/rules_inline/linkify.mjs +0 -63
  865. package/node_modules/markdown-it/lib/rules_inline/newline.mjs +0 -42
  866. package/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +0 -154
  867. package/node_modules/markdown-it/lib/rules_inline/strikethrough.mjs +0 -127
  868. package/node_modules/markdown-it/lib/rules_inline/text.mjs +0 -86
  869. package/node_modules/markdown-it/lib/token.mjs +0 -191
  870. package/node_modules/markdown-it/node_modules/argparse/CHANGELOG.md +0 -216
  871. package/node_modules/markdown-it/node_modules/entities/lib/decode.d.ts +0 -211
  872. package/node_modules/markdown-it/node_modules/entities/lib/decode.d.ts.map +0 -1
  873. package/node_modules/markdown-it/node_modules/entities/lib/decode.js +0 -536
  874. package/node_modules/markdown-it/node_modules/entities/lib/decode.js.map +0 -1
  875. package/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.d.ts +0 -19
  876. package/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.d.ts.map +0 -1
  877. package/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.js +0 -76
  878. package/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.js.map +0 -1
  879. package/node_modules/markdown-it/node_modules/entities/lib/encode.d.ts +0 -22
  880. package/node_modules/markdown-it/node_modules/entities/lib/encode.d.ts.map +0 -1
  881. package/node_modules/markdown-it/node_modules/entities/lib/encode.js +0 -77
  882. package/node_modules/markdown-it/node_modules/entities/lib/encode.js.map +0 -1
  883. package/node_modules/markdown-it/node_modules/entities/lib/escape.d.ts.map +0 -1
  884. package/node_modules/markdown-it/node_modules/entities/lib/escape.js +0 -122
  885. package/node_modules/markdown-it/node_modules/entities/lib/escape.js.map +0 -1
  886. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode.d.ts.map +0 -1
  887. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode.js.map +0 -1
  888. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.d.ts +0 -19
  889. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +0 -1
  890. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.js +0 -71
  891. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.js.map +0 -1
  892. package/node_modules/markdown-it/node_modules/entities/lib/esm/encode.d.ts.map +0 -1
  893. package/node_modules/markdown-it/node_modules/entities/lib/esm/encode.js +0 -69
  894. package/node_modules/markdown-it/node_modules/entities/lib/esm/encode.js.map +0 -1
  895. package/node_modules/markdown-it/node_modules/entities/lib/esm/escape.d.ts +0 -43
  896. package/node_modules/markdown-it/node_modules/entities/lib/esm/escape.d.ts.map +0 -1
  897. package/node_modules/markdown-it/node_modules/entities/lib/esm/escape.js +0 -116
  898. package/node_modules/markdown-it/node_modules/entities/lib/esm/escape.js.map +0 -1
  899. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +0 -3
  900. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +0 -1
  901. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.js +0 -7
  902. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.js.map +0 -1
  903. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +0 -3
  904. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +0 -1
  905. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.js +0 -7
  906. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +0 -1
  907. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.d.ts +0 -8
  908. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +0 -1
  909. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.js +0 -10
  910. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.js.map +0 -1
  911. package/node_modules/markdown-it/node_modules/entities/lib/esm/index.d.ts +0 -96
  912. package/node_modules/markdown-it/node_modules/entities/lib/esm/index.d.ts.map +0 -1
  913. package/node_modules/markdown-it/node_modules/entities/lib/esm/index.js +0 -99
  914. package/node_modules/markdown-it/node_modules/entities/lib/esm/index.js.map +0 -1
  915. package/node_modules/markdown-it/node_modules/entities/lib/esm/package.json +0 -1
  916. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.d.ts +0 -3
  917. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.d.ts.map +0 -1
  918. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.js +0 -9
  919. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.js.map +0 -1
  920. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.d.ts +0 -3
  921. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +0 -1
  922. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.js +0 -9
  923. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.js.map +0 -1
  924. package/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.d.ts +0 -8
  925. package/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.d.ts.map +0 -1
  926. package/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.js +0 -12
  927. package/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.js.map +0 -1
  928. package/node_modules/markdown-it/node_modules/entities/lib/index.d.ts.map +0 -1
  929. package/node_modules/markdown-it/node_modules/entities/lib/index.js +0 -126
  930. package/node_modules/markdown-it/node_modules/entities/lib/index.js.map +0 -1
  931. package/node_modules/markdown-it/node_modules/linkify-it/index.mjs +0 -646
  932. package/node_modules/markdown-it/node_modules/linkify-it/lib/re.mjs +0 -193
  933. package/node_modules/markdown-it/node_modules/uc.micro/categories/Cc/regex.mjs +0 -1
  934. package/node_modules/markdown-it/node_modules/uc.micro/categories/Cf/regex.mjs +0 -1
  935. package/node_modules/markdown-it/node_modules/uc.micro/categories/P/regex.mjs +0 -1
  936. package/node_modules/markdown-it/node_modules/uc.micro/categories/S/regex.mjs +0 -1
  937. package/node_modules/markdown-it/node_modules/uc.micro/categories/Z/regex.mjs +0 -1
  938. package/node_modules/markdown-it/node_modules/uc.micro/index.mjs +0 -8
  939. package/node_modules/markdown-it/node_modules/uc.micro/properties/Any/regex.mjs +0 -1
  940. package/node_modules/matrix-js-sdk/lib/oidc/authorize.d.ts +0 -157
  941. package/node_modules/matrix-js-sdk/lib/oidc/authorize.d.ts.map +0 -1
  942. package/node_modules/matrix-js-sdk/lib/oidc/authorize.js +0 -365
  943. package/node_modules/matrix-js-sdk/lib/oidc/authorize.js.map +0 -1
  944. package/node_modules/matrix-js-sdk/lib/oidc/discovery.d.ts +0 -22
  945. package/node_modules/matrix-js-sdk/lib/oidc/discovery.d.ts.map +0 -1
  946. package/node_modules/matrix-js-sdk/lib/oidc/discovery.js +0 -65
  947. package/node_modules/matrix-js-sdk/lib/oidc/discovery.js.map +0 -1
  948. package/node_modules/matrix-js-sdk/lib/oidc/error.d.ts +0 -18
  949. package/node_modules/matrix-js-sdk/lib/oidc/error.d.ts.map +0 -1
  950. package/node_modules/matrix-js-sdk/lib/oidc/error.js +0 -35
  951. package/node_modules/matrix-js-sdk/lib/oidc/error.js.map +0 -1
  952. package/node_modules/matrix-js-sdk/lib/oidc/index.d.ts +0 -16
  953. package/node_modules/matrix-js-sdk/lib/oidc/index.d.ts.map +0 -1
  954. package/node_modules/matrix-js-sdk/lib/oidc/index.js +0 -30
  955. package/node_modules/matrix-js-sdk/lib/oidc/index.js.map +0 -1
  956. package/node_modules/matrix-js-sdk/lib/oidc/register.d.ts +0 -70
  957. package/node_modules/matrix-js-sdk/lib/oidc/register.d.ts.map +0 -1
  958. package/node_modules/matrix-js-sdk/lib/oidc/register.js +0 -134
  959. package/node_modules/matrix-js-sdk/lib/oidc/register.js.map +0 -1
  960. package/node_modules/matrix-js-sdk/lib/oidc/tokenRefresher.d.ts +0 -91
  961. package/node_modules/matrix-js-sdk/lib/oidc/tokenRefresher.d.ts.map +0 -1
  962. package/node_modules/matrix-js-sdk/lib/oidc/tokenRefresher.js +0 -173
  963. package/node_modules/matrix-js-sdk/lib/oidc/tokenRefresher.js.map +0 -1
  964. package/node_modules/matrix-js-sdk/lib/oidc/validate.d.ts +0 -78
  965. package/node_modules/matrix-js-sdk/lib/oidc/validate.d.ts.map +0 -1
  966. package/node_modules/matrix-js-sdk/lib/oidc/validate.js +0 -181
  967. package/node_modules/matrix-js-sdk/lib/oidc/validate.js.map +0 -1
  968. package/node_modules/matrix-js-sdk/node_modules/jwt-decode/LICENSE +0 -21
  969. package/node_modules/matrix-js-sdk/node_modules/jwt-decode/README.md +0 -134
  970. package/node_modules/matrix-js-sdk/node_modules/jwt-decode/build/cjs/index.d.ts +0 -23
  971. package/node_modules/matrix-js-sdk/node_modules/jwt-decode/build/cjs/index.js +0 -62
  972. package/node_modules/matrix-js-sdk/node_modules/jwt-decode/build/cjs/package.json +0 -1
  973. package/node_modules/matrix-js-sdk/node_modules/jwt-decode/build/esm/index.d.ts +0 -23
  974. package/node_modules/matrix-js-sdk/node_modules/jwt-decode/build/esm/index.js +0 -57
  975. package/node_modules/matrix-js-sdk/node_modules/jwt-decode/package.json +0 -81
  976. package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/LICENSE +0 -202
  977. package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/README.md +0 -87
  978. package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/browser/oidc-client-ts.js +0 -3751
  979. package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/browser/oidc-client-ts.js.map +0 -7
  980. package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/browser/oidc-client-ts.min.js +0 -2
  981. package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/browser/oidc-client-ts.min.js.map +0 -7
  982. package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/esm/oidc-client-ts.js +0 -3671
  983. package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/esm/oidc-client-ts.js.map +0 -7
  984. package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/esm/package.json +0 -4
  985. package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/types/oidc-client-ts.d.ts +0 -2003
  986. package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/types/tsdoc-metadata.json +0 -11
  987. package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/umd/oidc-client-ts.js +0 -3719
  988. package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/dist/umd/oidc-client-ts.js.map +0 -7
  989. package/node_modules/matrix-js-sdk/node_modules/oidc-client-ts/package.json +0 -75
  990. package/node_modules/matrix-js-sdk/src/oidc/authorize.ts +0 -431
  991. package/node_modules/matrix-js-sdk/src/oidc/discovery.ts +0 -67
  992. package/node_modules/matrix-js-sdk/src/oidc/index.ts +0 -33
  993. package/node_modules/matrix-js-sdk/src/oidc/register.ts +0 -168
  994. package/node_modules/matrix-js-sdk/src/oidc/tokenRefresher.ts +0 -184
  995. package/node_modules/matrix-js-sdk/src/oidc/validate.ts +0 -265
  996. package/node_modules/typebox/build/format/_idna.d.mts +0 -2
  997. package/node_modules/typebox/build/format/_idna.mjs +0 -246
  998. package/node_modules/typebox/build/format/_puny.d.mts +0 -1
  999. package/node_modules/typebox/build/format/_puny.mjs +0 -77
  1000. package/node_modules/typebox/build/schema/resolve/ref.d.mts +0 -3
  1001. package/node_modules/typebox/build/schema/resolve/ref.mjs +0 -146
  1002. package/node_modules/typebox/build/schema/types/contentEncoding.d.mts +0 -9
  1003. package/node_modules/typebox/build/schema/types/contentEncoding.mjs +0 -13
  1004. package/node_modules/typebox/build/schema/types/contentMediaType.d.mts +0 -9
  1005. package/node_modules/typebox/build/schema/types/contentMediaType.mjs +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"mediaHandler.js","names":[],"sources":["../../src/webrtc/mediaHandler.ts"],"sourcesContent":["/*\nCopyright 2015, 2016 OpenMarket Ltd\nCopyright 2017 New Vector Ltd\nCopyright 2019, 2020 The Matrix.org Foundation C.I.C.\nCopyright 2021 - 2022 Šimon Brandner <simon.bra.ag@gmail.com>\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { TypedEventEmitter } from \"../models/typed-event-emitter.ts\";\nimport { GroupCallType, GroupCallState } from \"../webrtc/groupCall.ts\";\nimport { logger } from \"../logger.ts\";\nimport { type MatrixClient } from \"../client.ts\";\n\nexport enum MediaHandlerEvent {\n LocalStreamsChanged = \"local_streams_changed\",\n}\n\nexport type MediaHandlerEventHandlerMap = {\n [MediaHandlerEvent.LocalStreamsChanged]: () => void;\n};\n\nexport interface IScreensharingOpts {\n /**\n * sourceId for Electron DesktopCapturer\n */\n desktopCapturerSourceId?: string;\n audio?: boolean;\n // For electron screen capture, there are very few options for detecting electron\n // apart from inspecting the user agent or just trying getDisplayMedia() and\n // catching the failure, so we do the latter - this flag tells the function to just\n // throw an error so we can catch it in this case, rather than logging and emitting.\n throwOnFail?: boolean;\n}\n\nexport interface AudioSettings {\n autoGainControl: boolean;\n echoCancellation: boolean;\n noiseSuppression: boolean;\n}\n\nexport class MediaHandler extends TypedEventEmitter<\n MediaHandlerEvent.LocalStreamsChanged,\n MediaHandlerEventHandlerMap\n> {\n private audioInput?: string;\n private audioSettings?: AudioSettings;\n private videoInput?: string;\n private localUserMediaStream?: MediaStream;\n public userMediaStreams: MediaStream[] = [];\n public screensharingStreams: MediaStream[] = [];\n\n // Promise chain to serialise calls to getMediaStream\n private getMediaStreamPromise?: Promise<MediaStream>;\n\n public constructor(private client: MatrixClient) {\n super();\n }\n\n public restoreMediaSettings(audioInput: string, videoInput: string): void {\n this.audioInput = audioInput;\n this.videoInput = videoInput;\n }\n\n /**\n * Set an audio input device to use for MatrixCalls\n * @param deviceId - the identifier for the device\n * undefined treated as unset\n */\n public async setAudioInput(deviceId: string): Promise<void> {\n logger.info(`MediaHandler setAudioInput() running (deviceId=${deviceId})`);\n\n if (this.audioInput === deviceId) return;\n\n this.audioInput = deviceId;\n await this.updateLocalUsermediaStreams();\n }\n\n /**\n * Set audio settings for MatrixCalls\n * @param opts - audio options to set\n */\n public async setAudioSettings(opts: AudioSettings): Promise<void> {\n logger.info(`MediaHandler setAudioSettings() running (opts=${JSON.stringify(opts)})`);\n\n this.audioSettings = Object.assign({}, opts) as AudioSettings;\n await this.updateLocalUsermediaStreams();\n }\n\n /**\n * Set a video input device to use for MatrixCalls\n * @param deviceId - the identifier for the device\n * undefined treated as unset\n */\n public async setVideoInput(deviceId: string): Promise<void> {\n logger.info(`MediaHandler setVideoInput() running (deviceId=${deviceId})`);\n\n if (this.videoInput === deviceId) return;\n\n this.videoInput = deviceId;\n await this.updateLocalUsermediaStreams();\n }\n\n /**\n * Set media input devices to use for MatrixCalls\n * @param audioInput - the identifier for the audio device\n * @param videoInput - the identifier for the video device\n * undefined treated as unset\n */\n public async setMediaInputs(audioInput: string, videoInput: string): Promise<void> {\n logger.log(`MediaHandler setMediaInputs() running (audioInput: ${audioInput} videoInput: ${videoInput})`);\n this.audioInput = audioInput;\n this.videoInput = videoInput;\n await this.updateLocalUsermediaStreams();\n }\n\n /*\n * Requests new usermedia streams and replace the old ones\n */\n public async updateLocalUsermediaStreams(): Promise<void> {\n if (this.userMediaStreams.length === 0) return;\n\n const callMediaStreamParams: Map<string, { audio: boolean; video: boolean }> = new Map();\n for (const call of this.client.callEventHandler!.calls.values()) {\n callMediaStreamParams.set(call.callId, {\n audio: call.hasLocalUserMediaAudioTrack,\n video: call.hasLocalUserMediaVideoTrack,\n });\n }\n\n for (const stream of this.userMediaStreams) {\n logger.log(`MediaHandler updateLocalUsermediaStreams() stopping all tracks (streamId=${stream.id})`);\n for (const track of stream.getTracks()) {\n track.stop();\n }\n }\n\n this.userMediaStreams = [];\n this.localUserMediaStream = undefined;\n\n for (const call of this.client.callEventHandler!.calls.values()) {\n if (call.callHasEnded() || !callMediaStreamParams.has(call.callId)) {\n continue;\n }\n\n const { audio, video } = callMediaStreamParams.get(call.callId)!;\n\n logger.log(\n `MediaHandler updateLocalUsermediaStreams() calling getUserMediaStream() (callId=${call.callId})`,\n );\n const stream = await this.getUserMediaStream(audio, video);\n\n if (call.callHasEnded()) {\n continue;\n }\n\n await call.updateLocalUsermediaStream(stream);\n }\n\n for (const groupCall of this.client.groupCallEventHandler!.groupCalls.values()) {\n if (!groupCall.localCallFeed) {\n continue;\n }\n\n logger.log(\n `MediaHandler updateLocalUsermediaStreams() calling getUserMediaStream() (groupCallId=${groupCall.groupCallId})`,\n );\n const stream = await this.getUserMediaStream(true, groupCall.type === GroupCallType.Video);\n\n if (groupCall.state === GroupCallState.Ended) {\n continue;\n }\n\n await groupCall.updateLocalUsermediaStream(stream);\n }\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n }\n\n public async hasAudioDevice(): Promise<boolean> {\n try {\n const devices = await navigator.mediaDevices.enumerateDevices();\n return devices.filter((device) => device.kind === \"audioinput\").length > 0;\n } catch (err) {\n logger.log(`MediaHandler hasAudioDevice() calling navigator.mediaDevices.enumerateDevices with error`, err);\n return false;\n }\n }\n\n public async hasVideoDevice(): Promise<boolean> {\n try {\n const devices = await navigator.mediaDevices.enumerateDevices();\n return devices.filter((device) => device.kind === \"videoinput\").length > 0;\n } catch (err) {\n logger.log(`MediaHandler hasVideoDevice() calling navigator.mediaDevices.enumerateDevices with error`, err);\n return false;\n }\n }\n\n /**\n * @param audio - should have an audio track\n * @param video - should have a video track\n * @param reusable - is allowed to be reused by the MediaHandler\n * @returns based on passed parameters\n */\n public async getUserMediaStream(audio: boolean, video: boolean, reusable = true): Promise<MediaStream> {\n // Serialise calls, othertwise we can't sensibly re-use the stream\n if (this.getMediaStreamPromise) {\n this.getMediaStreamPromise = this.getMediaStreamPromise.then(() => {\n return this.getUserMediaStreamInternal(audio, video, reusable);\n });\n } else {\n this.getMediaStreamPromise = this.getUserMediaStreamInternal(audio, video, reusable);\n }\n\n return this.getMediaStreamPromise;\n }\n\n private async getUserMediaStreamInternal(audio: boolean, video: boolean, reusable: boolean): Promise<MediaStream> {\n const shouldRequestAudio = audio && (await this.hasAudioDevice());\n const shouldRequestVideo = video && (await this.hasVideoDevice());\n\n let stream: MediaStream;\n\n let canReuseStream = true;\n if (this.localUserMediaStream) {\n // This figures out if we can reuse the current localUsermediaStream\n // based on whether or not the \"mute state\" (presence of tracks of a\n // given kind) matches what is being requested\n if (shouldRequestAudio !== this.localUserMediaStream.getAudioTracks().length > 0) {\n canReuseStream = false;\n }\n if (shouldRequestVideo !== this.localUserMediaStream.getVideoTracks().length > 0) {\n canReuseStream = false;\n }\n\n // This code checks that the device ID is the same as the localUserMediaStream stream, but we update\n // the localUserMediaStream whenever the device ID changes (apart from when restoring) so it's not\n // clear why this would ever be different, unless there's a race.\n if (\n shouldRequestAudio &&\n this.localUserMediaStream.getAudioTracks()[0]?.getSettings()?.deviceId !== this.audioInput\n ) {\n canReuseStream = false;\n }\n if (\n shouldRequestVideo &&\n this.localUserMediaStream.getVideoTracks()[0]?.getSettings()?.deviceId !== this.videoInput\n ) {\n canReuseStream = false;\n }\n } else {\n canReuseStream = false;\n }\n\n if (!canReuseStream) {\n let constraints: MediaStreamConstraints;\n try {\n // Not specifying exact for deviceId means switching devices does not always work,\n // try with exact and fallback to ideal if it fails\n constraints = this.getUserMediaContraints(shouldRequestAudio, shouldRequestVideo, true);\n stream = await navigator.mediaDevices.getUserMedia(constraints);\n } catch (e) {\n logger.warn(\n `MediaHandler getUserMediaStreamInternal() error (e=${e}), retrying without exact deviceId`,\n );\n constraints = this.getUserMediaContraints(shouldRequestAudio, shouldRequestVideo, false);\n stream = await navigator.mediaDevices.getUserMedia(constraints);\n }\n logger.log(\n `MediaHandler getUserMediaStreamInternal() calling getUserMediaStream (streamId=${\n stream.id\n }, shouldRequestAudio=${shouldRequestAudio}, shouldRequestVideo=${shouldRequestVideo}, constraints=${JSON.stringify(\n constraints,\n )})`,\n );\n\n for (const track of stream.getTracks()) {\n const settings = track.getSettings();\n\n if (track.kind === \"audio\") {\n this.audioInput = settings.deviceId!;\n } else if (track.kind === \"video\") {\n this.videoInput = settings.deviceId!;\n }\n }\n\n if (reusable) {\n this.localUserMediaStream = stream;\n }\n } else {\n stream = this.localUserMediaStream!.clone();\n logger.log(\n `MediaHandler getUserMediaStreamInternal() cloning (oldStreamId=${this.localUserMediaStream?.id} newStreamId=${stream.id} shouldRequestAudio=${shouldRequestAudio} shouldRequestVideo=${shouldRequestVideo})`,\n );\n\n if (!shouldRequestAudio) {\n for (const track of stream.getAudioTracks()) {\n stream.removeTrack(track);\n }\n }\n\n if (!shouldRequestVideo) {\n for (const track of stream.getVideoTracks()) {\n stream.removeTrack(track);\n }\n }\n }\n\n if (reusable) {\n this.userMediaStreams.push(stream);\n }\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n\n return stream;\n }\n\n /**\n * Stops all tracks on the provided usermedia stream\n */\n public stopUserMediaStream(mediaStream: MediaStream): void {\n logger.log(`MediaHandler stopUserMediaStream() stopping (streamId=${mediaStream.id})`);\n for (const track of mediaStream.getTracks()) {\n track.stop();\n }\n\n const index = this.userMediaStreams.indexOf(mediaStream);\n\n if (index !== -1) {\n logger.debug(\n `MediaHandler stopUserMediaStream() splicing usermedia stream out stream array (streamId=${mediaStream.id})`,\n mediaStream.id,\n );\n this.userMediaStreams.splice(index, 1);\n }\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n\n if (this.localUserMediaStream === mediaStream) {\n // if we have this stream cahced, remove it, because we've stopped it\n this.localUserMediaStream = undefined;\n } else {\n // If it's not the same stream. remove any tracks from the cached stream that\n // we have just stopped, and if we do stop any, call the same method on the\n // cached stream too in order to stop all its tracks (in case they are different)\n // and un-cache it.\n for (const track of mediaStream.getTracks()) {\n if (this.localUserMediaStream?.getTrackById(track.id)) {\n this.stopUserMediaStream(this.localUserMediaStream);\n break;\n }\n }\n }\n }\n\n /**\n * @param opts - screensharing stream options\n * @param reusable - is allowed to be reused by the MediaHandler\n * @returns based on passed parameters\n */\n public async getScreensharingStream(opts: IScreensharingOpts = {}, reusable = true): Promise<MediaStream> {\n let stream: MediaStream;\n\n if (this.screensharingStreams.length === 0) {\n const screenshareConstraints = this.getScreenshareContraints(opts);\n\n if (opts.desktopCapturerSourceId) {\n // We are using Electron\n logger.debug(\n `MediaHandler getScreensharingStream() calling getUserMedia() (opts=${JSON.stringify(opts)})`,\n );\n stream = await navigator.mediaDevices.getUserMedia(screenshareConstraints);\n } else {\n // We are not using Electron\n logger.debug(\n `MediaHandler getScreensharingStream() calling getDisplayMedia() (opts=${JSON.stringify(opts)})`,\n );\n stream = await navigator.mediaDevices.getDisplayMedia(screenshareConstraints);\n }\n } else {\n const matchingStream = this.screensharingStreams[this.screensharingStreams.length - 1];\n logger.log(`MediaHandler getScreensharingStream() cloning (streamId=${matchingStream.id})`);\n stream = matchingStream.clone();\n }\n\n if (reusable) {\n this.screensharingStreams.push(stream);\n }\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n\n return stream;\n }\n\n /**\n * Stops all tracks on the provided screensharing stream\n */\n public stopScreensharingStream(mediaStream: MediaStream): void {\n logger.debug(`MediaHandler stopScreensharingStream() stopping stream (streamId=${mediaStream.id})`);\n for (const track of mediaStream.getTracks()) {\n track.stop();\n }\n\n const index = this.screensharingStreams.indexOf(mediaStream);\n\n if (index !== -1) {\n logger.debug(`MediaHandler stopScreensharingStream() splicing stream out (streamId=${mediaStream.id})`);\n this.screensharingStreams.splice(index, 1);\n }\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n }\n\n /**\n * Stops all local media tracks\n */\n public stopAllStreams(): void {\n for (const stream of this.userMediaStreams) {\n logger.log(`MediaHandler stopAllStreams() stopping (streamId=${stream.id})`);\n for (const track of stream.getTracks()) {\n track.stop();\n }\n }\n\n for (const stream of this.screensharingStreams) {\n for (const track of stream.getTracks()) {\n track.stop();\n }\n }\n\n this.userMediaStreams = [];\n this.screensharingStreams = [];\n this.localUserMediaStream = undefined;\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n }\n\n private getUserMediaContraints(audio: boolean, video: boolean, exactDeviceId?: boolean): MediaStreamConstraints {\n const isWebkit = !!navigator.webkitGetUserMedia;\n const deviceIdKey = exactDeviceId ? \"exact\" : \"ideal\";\n\n const audioConstraints: MediaTrackConstraints = {};\n if (this.audioInput) {\n audioConstraints.deviceId = { [deviceIdKey]: this.audioInput };\n }\n if (this.audioSettings) {\n audioConstraints.autoGainControl = { ideal: this.audioSettings.autoGainControl };\n audioConstraints.echoCancellation = { ideal: this.audioSettings.echoCancellation };\n audioConstraints.noiseSuppression = { ideal: this.audioSettings.noiseSuppression };\n }\n\n const videoConstraints: MediaTrackConstraints = {\n /* We want 640x360. Chrome will give it only if we ask exactly,\n FF refuses entirely if we ask exactly, so have to ask for ideal\n instead\n XXX: Is this still true?\n */\n width: isWebkit ? { exact: 640 } : { ideal: 640 },\n height: isWebkit ? { exact: 360 } : { ideal: 360 },\n };\n if (this.videoInput) {\n videoConstraints.deviceId = { [deviceIdKey]: this.videoInput };\n }\n\n return {\n audio: audio ? audioConstraints : false,\n video: video ? videoConstraints : false,\n };\n }\n\n private getScreenshareContraints(opts: IScreensharingOpts): MediaStreamConstraints {\n const { desktopCapturerSourceId, audio } = opts;\n if (desktopCapturerSourceId) {\n return {\n audio: audio ?? false,\n video: {\n mandatory: {\n chromeMediaSource: \"desktop\",\n chromeMediaSourceId: desktopCapturerSourceId,\n },\n },\n };\n } else {\n return {\n audio: audio ?? false,\n video: true,\n };\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"mediaHandler.js","names":[],"sources":["../../src/webrtc/mediaHandler.ts"],"sourcesContent":["/*\nCopyright 2015, 2016 OpenMarket Ltd\nCopyright 2017 New Vector Ltd\nCopyright 2019, 2020 The Matrix.org Foundation C.I.C.\nCopyright 2021 - 2022 Šimon Brandner <simon.bra.ag@gmail.com>\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { TypedEventEmitter } from \"../models/typed-event-emitter.ts\";\nimport { GroupCallType, GroupCallState } from \"../webrtc/groupCall.ts\";\nimport { logger } from \"../logger.ts\";\nimport { type MatrixClient } from \"../client.ts\";\n\nexport enum MediaHandlerEvent {\n LocalStreamsChanged = \"local_streams_changed\",\n}\n\nexport type MediaHandlerEventHandlerMap = {\n [MediaHandlerEvent.LocalStreamsChanged]: () => void;\n};\n\nexport interface IScreensharingOpts {\n /**\n * sourceId for Electron DesktopCapturer\n */\n desktopCapturerSourceId?: string;\n audio?: boolean;\n // For electron screen capture, there are very few options for detecting electron\n // apart from inspecting the user agent or just trying getDisplayMedia() and\n // catching the failure, so we do the latter - this flag tells the function to just\n // throw an error so we can catch it in this case, rather than logging and emitting.\n throwOnFail?: boolean;\n}\n\nexport interface AudioSettings {\n autoGainControl: boolean;\n echoCancellation: boolean;\n noiseSuppression: boolean;\n}\n\nexport class MediaHandler extends TypedEventEmitter<\n MediaHandlerEvent.LocalStreamsChanged,\n MediaHandlerEventHandlerMap\n> {\n private audioInput?: string;\n private audioSettings?: AudioSettings;\n private videoInput?: string;\n private localUserMediaStream?: MediaStream;\n public userMediaStreams: MediaStream[] = [];\n public screensharingStreams: MediaStream[] = [];\n\n // Promise chain to serialise calls to getMediaStream\n private getMediaStreamPromise?: Promise<MediaStream>;\n\n public constructor(private client: MatrixClient) {\n super();\n }\n\n public restoreMediaSettings(audioInput: string, videoInput: string): void {\n this.audioInput = audioInput;\n this.videoInput = videoInput;\n }\n\n /**\n * Set an audio input device to use for MatrixCalls\n * @param deviceId - the identifier for the device\n * undefined treated as unset\n */\n public async setAudioInput(deviceId: string): Promise<void> {\n logger.info(`MediaHandler setAudioInput() running (deviceId=${deviceId})`);\n\n if (this.audioInput === deviceId) return;\n\n this.audioInput = deviceId;\n await this.updateLocalUsermediaStreams();\n }\n\n /**\n * Set audio settings for MatrixCalls\n * @param opts - audio options to set\n */\n public async setAudioSettings(opts: AudioSettings): Promise<void> {\n logger.info(`MediaHandler setAudioSettings() running (opts=${JSON.stringify(opts)})`);\n\n this.audioSettings = Object.assign({}, opts);\n await this.updateLocalUsermediaStreams();\n }\n\n /**\n * Set a video input device to use for MatrixCalls\n * @param deviceId - the identifier for the device\n * undefined treated as unset\n */\n public async setVideoInput(deviceId: string): Promise<void> {\n logger.info(`MediaHandler setVideoInput() running (deviceId=${deviceId})`);\n\n if (this.videoInput === deviceId) return;\n\n this.videoInput = deviceId;\n await this.updateLocalUsermediaStreams();\n }\n\n /**\n * Set media input devices to use for MatrixCalls\n * @param audioInput - the identifier for the audio device\n * @param videoInput - the identifier for the video device\n * undefined treated as unset\n */\n public async setMediaInputs(audioInput: string, videoInput: string): Promise<void> {\n logger.log(`MediaHandler setMediaInputs() running (audioInput: ${audioInput} videoInput: ${videoInput})`);\n this.audioInput = audioInput;\n this.videoInput = videoInput;\n await this.updateLocalUsermediaStreams();\n }\n\n /*\n * Requests new usermedia streams and replace the old ones\n */\n public async updateLocalUsermediaStreams(): Promise<void> {\n if (this.userMediaStreams.length === 0) return;\n\n const callMediaStreamParams: Map<string, { audio: boolean; video: boolean }> = new Map();\n for (const call of this.client.callEventHandler!.calls.values()) {\n callMediaStreamParams.set(call.callId, {\n audio: call.hasLocalUserMediaAudioTrack,\n video: call.hasLocalUserMediaVideoTrack,\n });\n }\n\n for (const stream of this.userMediaStreams) {\n logger.log(`MediaHandler updateLocalUsermediaStreams() stopping all tracks (streamId=${stream.id})`);\n for (const track of stream.getTracks()) {\n track.stop();\n }\n }\n\n this.userMediaStreams = [];\n this.localUserMediaStream = undefined;\n\n for (const call of this.client.callEventHandler!.calls.values()) {\n if (call.callHasEnded() || !callMediaStreamParams.has(call.callId)) {\n continue;\n }\n\n const { audio, video } = callMediaStreamParams.get(call.callId)!;\n\n logger.log(\n `MediaHandler updateLocalUsermediaStreams() calling getUserMediaStream() (callId=${call.callId})`,\n );\n const stream = await this.getUserMediaStream(audio, video);\n\n if (call.callHasEnded()) {\n continue;\n }\n\n await call.updateLocalUsermediaStream(stream);\n }\n\n for (const groupCall of this.client.groupCallEventHandler!.groupCalls.values()) {\n if (!groupCall.localCallFeed) {\n continue;\n }\n\n logger.log(\n `MediaHandler updateLocalUsermediaStreams() calling getUserMediaStream() (groupCallId=${groupCall.groupCallId})`,\n );\n const stream = await this.getUserMediaStream(true, groupCall.type === GroupCallType.Video);\n\n if (groupCall.state === GroupCallState.Ended) {\n continue;\n }\n\n await groupCall.updateLocalUsermediaStream(stream);\n }\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n }\n\n public async hasAudioDevice(): Promise<boolean> {\n try {\n const devices = await navigator.mediaDevices.enumerateDevices();\n return devices.filter((device) => device.kind === \"audioinput\").length > 0;\n } catch (err) {\n logger.log(`MediaHandler hasAudioDevice() calling navigator.mediaDevices.enumerateDevices with error`, err);\n return false;\n }\n }\n\n public async hasVideoDevice(): Promise<boolean> {\n try {\n const devices = await navigator.mediaDevices.enumerateDevices();\n return devices.filter((device) => device.kind === \"videoinput\").length > 0;\n } catch (err) {\n logger.log(`MediaHandler hasVideoDevice() calling navigator.mediaDevices.enumerateDevices with error`, err);\n return false;\n }\n }\n\n /**\n * @param audio - should have an audio track\n * @param video - should have a video track\n * @param reusable - is allowed to be reused by the MediaHandler\n * @returns based on passed parameters\n */\n public async getUserMediaStream(audio: boolean, video: boolean, reusable = true): Promise<MediaStream> {\n // Serialise calls, othertwise we can't sensibly re-use the stream\n if (this.getMediaStreamPromise) {\n this.getMediaStreamPromise = this.getMediaStreamPromise.then(() => {\n return this.getUserMediaStreamInternal(audio, video, reusable);\n });\n } else {\n this.getMediaStreamPromise = this.getUserMediaStreamInternal(audio, video, reusable);\n }\n\n return this.getMediaStreamPromise;\n }\n\n private async getUserMediaStreamInternal(audio: boolean, video: boolean, reusable: boolean): Promise<MediaStream> {\n const shouldRequestAudio = audio && (await this.hasAudioDevice());\n const shouldRequestVideo = video && (await this.hasVideoDevice());\n\n let stream: MediaStream;\n\n let canReuseStream = true;\n if (this.localUserMediaStream) {\n // This figures out if we can reuse the current localUsermediaStream\n // based on whether or not the \"mute state\" (presence of tracks of a\n // given kind) matches what is being requested\n if (shouldRequestAudio !== this.localUserMediaStream.getAudioTracks().length > 0) {\n canReuseStream = false;\n }\n if (shouldRequestVideo !== this.localUserMediaStream.getVideoTracks().length > 0) {\n canReuseStream = false;\n }\n\n // This code checks that the device ID is the same as the localUserMediaStream stream, but we update\n // the localUserMediaStream whenever the device ID changes (apart from when restoring) so it's not\n // clear why this would ever be different, unless there's a race.\n if (\n shouldRequestAudio &&\n this.localUserMediaStream.getAudioTracks()[0]?.getSettings()?.deviceId !== this.audioInput\n ) {\n canReuseStream = false;\n }\n if (\n shouldRequestVideo &&\n this.localUserMediaStream.getVideoTracks()[0]?.getSettings()?.deviceId !== this.videoInput\n ) {\n canReuseStream = false;\n }\n } else {\n canReuseStream = false;\n }\n\n if (!canReuseStream) {\n let constraints: MediaStreamConstraints;\n try {\n // Not specifying exact for deviceId means switching devices does not always work,\n // try with exact and fallback to ideal if it fails\n constraints = this.getUserMediaContraints(shouldRequestAudio, shouldRequestVideo, true);\n stream = await navigator.mediaDevices.getUserMedia(constraints);\n } catch (e) {\n logger.warn(\n `MediaHandler getUserMediaStreamInternal() error (e=${e}), retrying without exact deviceId`,\n );\n constraints = this.getUserMediaContraints(shouldRequestAudio, shouldRequestVideo, false);\n stream = await navigator.mediaDevices.getUserMedia(constraints);\n }\n logger.log(\n `MediaHandler getUserMediaStreamInternal() calling getUserMediaStream (streamId=${\n stream.id\n }, shouldRequestAudio=${shouldRequestAudio}, shouldRequestVideo=${shouldRequestVideo}, constraints=${JSON.stringify(\n constraints,\n )})`,\n );\n\n for (const track of stream.getTracks()) {\n const settings = track.getSettings();\n\n if (track.kind === \"audio\") {\n this.audioInput = settings.deviceId!;\n } else if (track.kind === \"video\") {\n this.videoInput = settings.deviceId!;\n }\n }\n\n if (reusable) {\n this.localUserMediaStream = stream;\n }\n } else {\n stream = this.localUserMediaStream!.clone();\n logger.log(\n `MediaHandler getUserMediaStreamInternal() cloning (oldStreamId=${this.localUserMediaStream?.id} newStreamId=${stream.id} shouldRequestAudio=${shouldRequestAudio} shouldRequestVideo=${shouldRequestVideo})`,\n );\n\n if (!shouldRequestAudio) {\n for (const track of stream.getAudioTracks()) {\n stream.removeTrack(track);\n }\n }\n\n if (!shouldRequestVideo) {\n for (const track of stream.getVideoTracks()) {\n stream.removeTrack(track);\n }\n }\n }\n\n if (reusable) {\n this.userMediaStreams.push(stream);\n }\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n\n return stream;\n }\n\n /**\n * Stops all tracks on the provided usermedia stream\n */\n public stopUserMediaStream(mediaStream: MediaStream): void {\n logger.log(`MediaHandler stopUserMediaStream() stopping (streamId=${mediaStream.id})`);\n for (const track of mediaStream.getTracks()) {\n track.stop();\n }\n\n const index = this.userMediaStreams.indexOf(mediaStream);\n\n if (index !== -1) {\n logger.debug(\n `MediaHandler stopUserMediaStream() splicing usermedia stream out stream array (streamId=${mediaStream.id})`,\n mediaStream.id,\n );\n this.userMediaStreams.splice(index, 1);\n }\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n\n if (this.localUserMediaStream === mediaStream) {\n // if we have this stream cahced, remove it, because we've stopped it\n this.localUserMediaStream = undefined;\n } else {\n // If it's not the same stream. remove any tracks from the cached stream that\n // we have just stopped, and if we do stop any, call the same method on the\n // cached stream too in order to stop all its tracks (in case they are different)\n // and un-cache it.\n for (const track of mediaStream.getTracks()) {\n if (this.localUserMediaStream?.getTrackById(track.id)) {\n this.stopUserMediaStream(this.localUserMediaStream);\n break;\n }\n }\n }\n }\n\n /**\n * @param opts - screensharing stream options\n * @param reusable - is allowed to be reused by the MediaHandler\n * @returns based on passed parameters\n */\n public async getScreensharingStream(opts: IScreensharingOpts = {}, reusable = true): Promise<MediaStream> {\n let stream: MediaStream;\n\n if (this.screensharingStreams.length === 0) {\n const screenshareConstraints = this.getScreenshareContraints(opts);\n\n if (opts.desktopCapturerSourceId) {\n // We are using Electron\n logger.debug(\n `MediaHandler getScreensharingStream() calling getUserMedia() (opts=${JSON.stringify(opts)})`,\n );\n stream = await navigator.mediaDevices.getUserMedia(screenshareConstraints);\n } else {\n // We are not using Electron\n logger.debug(\n `MediaHandler getScreensharingStream() calling getDisplayMedia() (opts=${JSON.stringify(opts)})`,\n );\n stream = await navigator.mediaDevices.getDisplayMedia(screenshareConstraints);\n }\n } else {\n const matchingStream = this.screensharingStreams[this.screensharingStreams.length - 1];\n logger.log(`MediaHandler getScreensharingStream() cloning (streamId=${matchingStream.id})`);\n stream = matchingStream.clone();\n }\n\n if (reusable) {\n this.screensharingStreams.push(stream);\n }\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n\n return stream;\n }\n\n /**\n * Stops all tracks on the provided screensharing stream\n */\n public stopScreensharingStream(mediaStream: MediaStream): void {\n logger.debug(`MediaHandler stopScreensharingStream() stopping stream (streamId=${mediaStream.id})`);\n for (const track of mediaStream.getTracks()) {\n track.stop();\n }\n\n const index = this.screensharingStreams.indexOf(mediaStream);\n\n if (index !== -1) {\n logger.debug(`MediaHandler stopScreensharingStream() splicing stream out (streamId=${mediaStream.id})`);\n this.screensharingStreams.splice(index, 1);\n }\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n }\n\n /**\n * Stops all local media tracks\n */\n public stopAllStreams(): void {\n for (const stream of this.userMediaStreams) {\n logger.log(`MediaHandler stopAllStreams() stopping (streamId=${stream.id})`);\n for (const track of stream.getTracks()) {\n track.stop();\n }\n }\n\n for (const stream of this.screensharingStreams) {\n for (const track of stream.getTracks()) {\n track.stop();\n }\n }\n\n this.userMediaStreams = [];\n this.screensharingStreams = [];\n this.localUserMediaStream = undefined;\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n }\n\n private getUserMediaContraints(audio: boolean, video: boolean, exactDeviceId?: boolean): MediaStreamConstraints {\n const isWebkit = !!navigator.webkitGetUserMedia;\n const deviceIdKey = exactDeviceId ? \"exact\" : \"ideal\";\n\n const audioConstraints: MediaTrackConstraints = {};\n if (this.audioInput) {\n audioConstraints.deviceId = { [deviceIdKey]: this.audioInput };\n }\n if (this.audioSettings) {\n audioConstraints.autoGainControl = { ideal: this.audioSettings.autoGainControl };\n audioConstraints.echoCancellation = { ideal: this.audioSettings.echoCancellation };\n audioConstraints.noiseSuppression = { ideal: this.audioSettings.noiseSuppression };\n }\n\n const videoConstraints: MediaTrackConstraints = {\n /* We want 640x360. Chrome will give it only if we ask exactly,\n FF refuses entirely if we ask exactly, so have to ask for ideal\n instead\n XXX: Is this still true?\n */\n width: isWebkit ? { exact: 640 } : { ideal: 640 },\n height: isWebkit ? { exact: 360 } : { ideal: 360 },\n };\n if (this.videoInput) {\n videoConstraints.deviceId = { [deviceIdKey]: this.videoInput };\n }\n\n return {\n audio: audio ? audioConstraints : false,\n video: video ? videoConstraints : false,\n };\n }\n\n private getScreenshareContraints(opts: IScreensharingOpts): MediaStreamConstraints {\n const { desktopCapturerSourceId, audio } = opts;\n if (desktopCapturerSourceId) {\n return {\n audio: audio ?? false,\n video: {\n mandatory: {\n chromeMediaSource: \"desktop\",\n chromeMediaSourceId: desktopCapturerSourceId,\n },\n },\n };\n } else {\n return {\n audio: audio ?? false,\n video: true,\n };\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"callFeedStatsReporter.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/callFeedStatsReporter.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,cAAc,EAA8D,MAAM,kBAAkB,CAAC;AACnH,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,qBAAa,qBAAqB;WAChB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,GAAG,cAAc;IAyBlH,OAAO,CAAC,MAAM,CAAC,eAAe;WAgBhB,oBAAoB,CAC9B,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,QAAQ,EAAE,EACrB,MAAM,SAAY,GACnB,cAAc;CA0BpB"}
1
+ {"version":3,"file":"callFeedStatsReporter.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/callFeedStatsReporter.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,cAAc,EAA8D,MAAM,kBAAkB,CAAC;AACnH,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,qBAAa,qBAAqB;IAC9B,OAAc,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,GAAG,cAAc,CAuBjH;IAED,OAAO,CAAC,MAAM,CAAC,eAAe;IAgB9B,OAAc,oBAAoB,CAC9B,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,QAAQ,EAAE,EACrB,MAAM,SAAY,GACnB,cAAc,CAyBhB;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"callStatsReportGatherer.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/callStatsReportGatherer.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAUlE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAI1E,qBAAa,uBAAuB;aASZ,MAAM,EAAE,MAAM;IAC9B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ5B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IAEzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;gBAGhC,MAAM,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,EACf,EAAE,EAAE,iBAAiB,EACrB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,UAAO;IAMtB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA+CpG,OAAO,CAAC,kBAAkB;IA2EnB,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAIlC,SAAS,IAAI,OAAO;IAI3B,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,mCAAmC;IAiBpC,mBAAmB,IAAI,IAAI;IAElC,OAAO,CAAC,mBAAmB;IAWpB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAG/C"}
1
+ {"version":3,"file":"callStatsReportGatherer.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/callStatsReportGatherer.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAUlE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAI1E,qBAAa,uBAAuB;aASZ,MAAM,EAAE,MAAM;IAC9B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ5B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IAEzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IAEpD,YACoB,MAAM,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,EACf,EAAE,EAAE,iBAAiB,EACrB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,UAAO,EAIlC;IAEY,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA6CnG;IAED,OAAO,CAAC,kBAAkB;IA2EnB,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAExC;IAEM,SAAS,IAAI,OAAO,CAE1B;IAED,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,mCAAmC;IAiBpC,mBAAmB,IAAI,IAAI,CAAG;IAErC,OAAO,CAAC,mBAAmB;IAWpB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE3C;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"callStatsReportGatherer.js","names":[],"sources":["../../../src/webrtc/stats/callStatsReportGatherer.ts"],"sourcesContent":["/*\nCopyright 2023 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { ConnectionStats } from \"./connectionStats.ts\";\nimport { type StatsReportEmitter } from \"./statsReportEmitter.ts\";\nimport { type ByteSend, type ByteSentStatsReport, type TrackID } from \"./statsReport.ts\";\nimport { ConnectionStatsBuilder } from \"./connectionStatsBuilder.ts\";\nimport { TransportStatsBuilder } from \"./transportStatsBuilder.ts\";\nimport { MediaSsrcHandler } from \"./media/mediaSsrcHandler.ts\";\nimport { MediaTrackHandler } from \"./media/mediaTrackHandler.ts\";\nimport { MediaTrackStatsHandler } from \"./media/mediaTrackStatsHandler.ts\";\nimport { TrackStatsBuilder } from \"./trackStatsBuilder.ts\";\nimport { ConnectionStatsReportBuilder } from \"./connectionStatsReportBuilder.ts\";\nimport { ValueFormatter } from \"./valueFormatter.ts\";\nimport { type CallStatsReportSummary } from \"./callStatsReportSummary.ts\";\nimport { logger } from \"../../logger.ts\";\nimport { CallFeedStatsReporter } from \"./callFeedStatsReporter.ts\";\n\nexport class CallStatsReportGatherer {\n private isActive = true;\n private previousStatsReport: RTCStatsReport | undefined;\n private currentStatsReport: RTCStatsReport | undefined;\n private readonly connectionStats = new ConnectionStats();\n\n private readonly trackStats: MediaTrackStatsHandler;\n\n public constructor(\n public readonly callId: string,\n private opponentMemberId: string,\n private readonly pc: RTCPeerConnection,\n private readonly emitter: StatsReportEmitter,\n private readonly isFocus = true,\n ) {\n pc.addEventListener(\"signalingstatechange\", this.onSignalStateChange.bind(this));\n this.trackStats = new MediaTrackStatsHandler(new MediaSsrcHandler(), new MediaTrackHandler(pc));\n }\n\n public async processStats(groupCallId: string, localUserId: string): Promise<CallStatsReportSummary> {\n const summary = {\n isFirstCollection: this.previousStatsReport === undefined,\n receivedMedia: 0,\n receivedAudioMedia: 0,\n receivedVideoMedia: 0,\n audioTrackSummary: { count: 0, muted: 0, maxPacketLoss: 0, maxJitter: 0, concealedAudio: 0, totalAudio: 0 },\n videoTrackSummary: { count: 0, muted: 0, maxPacketLoss: 0, maxJitter: 0, concealedAudio: 0, totalAudio: 0 },\n } as CallStatsReportSummary;\n if (this.isActive) {\n const statsPromise = this.pc.getStats();\n if (typeof statsPromise?.then === \"function\") {\n return statsPromise\n .then((report) => {\n // @ts-ignore\n this.currentStatsReport = typeof report?.result === \"function\" ? report.result() : report;\n\n try {\n this.processStatsReport(groupCallId, localUserId);\n } catch (error) {\n this.handleError(error);\n return summary;\n }\n\n this.previousStatsReport = this.currentStatsReport;\n summary.receivedMedia = this.connectionStats.bitrate.download;\n summary.receivedAudioMedia = this.connectionStats.bitrate.audio?.download || 0;\n summary.receivedVideoMedia = this.connectionStats.bitrate.video?.download || 0;\n const trackSummary = TrackStatsBuilder.buildTrackSummary(\n Array.from(this.trackStats.getTrack2stats().values()),\n );\n return {\n ...summary,\n audioTrackSummary: trackSummary.audioTrackSummary,\n videoTrackSummary: trackSummary.videoTrackSummary,\n };\n })\n .catch((error) => {\n this.handleError(error);\n return summary;\n });\n }\n this.isActive = false;\n }\n return Promise.resolve(summary);\n }\n\n private processStatsReport(groupCallId: string, localUserId: string): void {\n const byteSentStatsReport: ByteSentStatsReport = new Map<TrackID, ByteSend>() as ByteSentStatsReport;\n byteSentStatsReport.callId = this.callId;\n byteSentStatsReport.opponentMemberId = this.opponentMemberId;\n\n this.currentStatsReport?.forEach((now) => {\n const before = this.previousStatsReport ? this.previousStatsReport.get(now.id) : null;\n // RTCIceCandidatePairStats - https://w3c.github.io/webrtc-stats/#candidatepair-dict*\n if (now.type === \"candidate-pair\" && now.nominated && now.state === \"succeeded\") {\n this.connectionStats.bandwidth = ConnectionStatsBuilder.buildBandwidthReport(now);\n this.connectionStats.transport = TransportStatsBuilder.buildReport(\n this.currentStatsReport,\n now,\n this.connectionStats.transport,\n this.isFocus,\n );\n\n // RTCReceivedRtpStreamStats\n // https://w3c.github.io/webrtc-stats/#receivedrtpstats-dict*\n // RTCSentRtpStreamStats\n // https://w3c.github.io/webrtc-stats/#sentrtpstats-dict*\n } else if (now.type === \"inbound-rtp\" || now.type === \"outbound-rtp\") {\n const trackStats = this.trackStats.findTrack2Stats(\n now,\n now.type === \"inbound-rtp\" ? \"remote\" : \"local\",\n );\n if (!trackStats) {\n return;\n }\n\n if (before) {\n TrackStatsBuilder.buildPacketsLost(trackStats, now, before);\n }\n\n // Get the resolution and framerate for only remote video sources here. For the local video sources,\n // 'track' stats will be used since they have the updated resolution based on the simulcast streams\n // currently being sent. Promise based getStats reports three 'outbound-rtp' streams and there will be\n // more calculations needed to determine what is the highest resolution stream sent by the client if the\n // 'outbound-rtp' stats are used.\n if (now.type === \"inbound-rtp\") {\n TrackStatsBuilder.buildFramerateResolution(trackStats, now);\n if (before) {\n TrackStatsBuilder.buildBitrateReceived(trackStats, now, before);\n }\n const ts = this.trackStats.findTransceiverByTrackId(trackStats.trackId);\n TrackStatsBuilder.setTrackStatsState(trackStats, ts);\n TrackStatsBuilder.buildJitter(trackStats, now);\n TrackStatsBuilder.buildAudioConcealment(trackStats, now);\n } else if (before) {\n byteSentStatsReport.set(trackStats.trackId, ValueFormatter.getNonNegativeValue(now.bytesSent));\n TrackStatsBuilder.buildBitrateSend(trackStats, now, before);\n }\n TrackStatsBuilder.buildCodec(this.currentStatsReport, trackStats, now);\n } else if (now.type === \"track\" && now.kind === \"video\" && !now.remoteSource) {\n const trackStats = this.trackStats.findLocalVideoTrackStats(now);\n if (!trackStats) {\n return;\n }\n TrackStatsBuilder.buildFramerateResolution(trackStats, now);\n TrackStatsBuilder.calculateSimulcastFramerate(\n trackStats,\n now,\n before,\n this.trackStats.mediaTrackHandler.getActiveSimulcastStreams(),\n );\n }\n });\n\n this.emitter.emitByteSendReport(byteSentStatsReport);\n this.emitter.emitCallFeedReport(\n CallFeedStatsReporter.buildCallFeedReport(this.callId, this.opponentMemberId, this.pc),\n );\n this.processAndEmitConnectionStatsReport();\n }\n\n public setActive(isActive: boolean): void {\n this.isActive = isActive;\n }\n\n public getActive(): boolean {\n return this.isActive;\n }\n\n private handleError(error: any): void {\n this.isActive = false;\n logger.warn(`CallStatsReportGatherer ${this.callId} processStatsReport fails and set to inactive ${error}`);\n }\n\n private processAndEmitConnectionStatsReport(): void {\n const report = ConnectionStatsReportBuilder.build(this.trackStats.getTrack2stats());\n report.callId = this.callId;\n report.opponentMemberId = this.opponentMemberId;\n\n this.connectionStats.bandwidth = report.bandwidth;\n this.connectionStats.bitrate = report.bitrate;\n this.connectionStats.packetLoss = report.packetLoss;\n\n this.emitter.emitConnectionStatsReport({\n ...report,\n transport: this.connectionStats.transport,\n });\n\n this.connectionStats.transport = [];\n }\n\n public stopProcessingStats(): void {}\n\n private onSignalStateChange(): void {\n if (this.pc.signalingState === \"stable\") {\n if (this.pc.currentRemoteDescription) {\n this.trackStats.mediaSsrcHandler.parse(this.pc.currentRemoteDescription.sdp, \"remote\");\n }\n if (this.pc.currentLocalDescription) {\n this.trackStats.mediaSsrcHandler.parse(this.pc.currentLocalDescription.sdp, \"local\");\n }\n }\n }\n\n public setOpponentMemberId(id: string): void {\n this.opponentMemberId = id;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"callStatsReportGatherer.js","names":[],"sources":["../../../src/webrtc/stats/callStatsReportGatherer.ts"],"sourcesContent":["/*\nCopyright 2023 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { ConnectionStats } from \"./connectionStats.ts\";\nimport { type StatsReportEmitter } from \"./statsReportEmitter.ts\";\nimport { type ByteSend, type ByteSentStatsReport, type TrackID } from \"./statsReport.ts\";\nimport { ConnectionStatsBuilder } from \"./connectionStatsBuilder.ts\";\nimport { TransportStatsBuilder } from \"./transportStatsBuilder.ts\";\nimport { MediaSsrcHandler } from \"./media/mediaSsrcHandler.ts\";\nimport { MediaTrackHandler } from \"./media/mediaTrackHandler.ts\";\nimport { MediaTrackStatsHandler } from \"./media/mediaTrackStatsHandler.ts\";\nimport { TrackStatsBuilder } from \"./trackStatsBuilder.ts\";\nimport { ConnectionStatsReportBuilder } from \"./connectionStatsReportBuilder.ts\";\nimport { ValueFormatter } from \"./valueFormatter.ts\";\nimport { type CallStatsReportSummary } from \"./callStatsReportSummary.ts\";\nimport { logger } from \"../../logger.ts\";\nimport { CallFeedStatsReporter } from \"./callFeedStatsReporter.ts\";\n\nexport class CallStatsReportGatherer {\n private isActive = true;\n private previousStatsReport: RTCStatsReport | undefined;\n private currentStatsReport: RTCStatsReport | undefined;\n private readonly connectionStats = new ConnectionStats();\n\n private readonly trackStats: MediaTrackStatsHandler;\n\n public constructor(\n public readonly callId: string,\n private opponentMemberId: string,\n private readonly pc: RTCPeerConnection,\n private readonly emitter: StatsReportEmitter,\n private readonly isFocus = true,\n ) {\n pc.addEventListener(\"signalingstatechange\", this.onSignalStateChange.bind(this));\n this.trackStats = new MediaTrackStatsHandler(new MediaSsrcHandler(), new MediaTrackHandler(pc));\n }\n\n public async processStats(groupCallId: string, localUserId: string): Promise<CallStatsReportSummary> {\n const summary = {\n isFirstCollection: this.previousStatsReport === undefined,\n receivedMedia: 0,\n receivedAudioMedia: 0,\n receivedVideoMedia: 0,\n audioTrackSummary: { count: 0, muted: 0, maxPacketLoss: 0, maxJitter: 0, concealedAudio: 0, totalAudio: 0 },\n videoTrackSummary: { count: 0, muted: 0, maxPacketLoss: 0, maxJitter: 0, concealedAudio: 0, totalAudio: 0 },\n } satisfies CallStatsReportSummary;\n if (this.isActive) {\n const statsPromise = this.pc.getStats();\n if (typeof statsPromise?.then === \"function\") {\n return statsPromise\n .then((report) => {\n // @ts-ignore\n this.currentStatsReport = typeof report?.result === \"function\" ? report.result() : report;\n\n try {\n this.processStatsReport(groupCallId, localUserId);\n } catch (error) {\n this.handleError(error);\n return summary;\n }\n\n this.previousStatsReport = this.currentStatsReport;\n summary.receivedMedia = this.connectionStats.bitrate.download;\n summary.receivedAudioMedia = this.connectionStats.bitrate.audio?.download || 0;\n summary.receivedVideoMedia = this.connectionStats.bitrate.video?.download || 0;\n const trackSummary = TrackStatsBuilder.buildTrackSummary(\n Array.from(this.trackStats.getTrack2stats().values()),\n );\n return {\n ...summary,\n audioTrackSummary: trackSummary.audioTrackSummary,\n videoTrackSummary: trackSummary.videoTrackSummary,\n };\n })\n .catch((error) => {\n this.handleError(error);\n return summary;\n });\n }\n this.isActive = false;\n }\n return Promise.resolve(summary);\n }\n\n private processStatsReport(groupCallId: string, localUserId: string): void {\n const byteSentStatsReport: ByteSentStatsReport = new Map<TrackID, ByteSend>();\n byteSentStatsReport.callId = this.callId;\n byteSentStatsReport.opponentMemberId = this.opponentMemberId;\n\n this.currentStatsReport?.forEach((now) => {\n const before = this.previousStatsReport ? this.previousStatsReport.get(now.id) : null;\n // RTCIceCandidatePairStats - https://w3c.github.io/webrtc-stats/#candidatepair-dict*\n if (now.type === \"candidate-pair\" && now.nominated && now.state === \"succeeded\") {\n this.connectionStats.bandwidth = ConnectionStatsBuilder.buildBandwidthReport(now);\n this.connectionStats.transport = TransportStatsBuilder.buildReport(\n this.currentStatsReport,\n now,\n this.connectionStats.transport,\n this.isFocus,\n );\n\n // RTCReceivedRtpStreamStats\n // https://w3c.github.io/webrtc-stats/#receivedrtpstats-dict*\n // RTCSentRtpStreamStats\n // https://w3c.github.io/webrtc-stats/#sentrtpstats-dict*\n } else if (now.type === \"inbound-rtp\" || now.type === \"outbound-rtp\") {\n const trackStats = this.trackStats.findTrack2Stats(\n now,\n now.type === \"inbound-rtp\" ? \"remote\" : \"local\",\n );\n if (!trackStats) {\n return;\n }\n\n if (before) {\n TrackStatsBuilder.buildPacketsLost(trackStats, now, before);\n }\n\n // Get the resolution and framerate for only remote video sources here. For the local video sources,\n // 'track' stats will be used since they have the updated resolution based on the simulcast streams\n // currently being sent. Promise based getStats reports three 'outbound-rtp' streams and there will be\n // more calculations needed to determine what is the highest resolution stream sent by the client if the\n // 'outbound-rtp' stats are used.\n if (now.type === \"inbound-rtp\") {\n TrackStatsBuilder.buildFramerateResolution(trackStats, now);\n if (before) {\n TrackStatsBuilder.buildBitrateReceived(trackStats, now, before);\n }\n const ts = this.trackStats.findTransceiverByTrackId(trackStats.trackId);\n TrackStatsBuilder.setTrackStatsState(trackStats, ts);\n TrackStatsBuilder.buildJitter(trackStats, now);\n TrackStatsBuilder.buildAudioConcealment(trackStats, now);\n } else if (before) {\n byteSentStatsReport.set(trackStats.trackId, ValueFormatter.getNonNegativeValue(now.bytesSent));\n TrackStatsBuilder.buildBitrateSend(trackStats, now, before);\n }\n TrackStatsBuilder.buildCodec(this.currentStatsReport, trackStats, now);\n } else if (now.type === \"track\" && now.kind === \"video\" && !now.remoteSource) {\n const trackStats = this.trackStats.findLocalVideoTrackStats(now);\n if (!trackStats) {\n return;\n }\n TrackStatsBuilder.buildFramerateResolution(trackStats, now);\n TrackStatsBuilder.calculateSimulcastFramerate(\n trackStats,\n now,\n before,\n this.trackStats.mediaTrackHandler.getActiveSimulcastStreams(),\n );\n }\n });\n\n this.emitter.emitByteSendReport(byteSentStatsReport);\n this.emitter.emitCallFeedReport(\n CallFeedStatsReporter.buildCallFeedReport(this.callId, this.opponentMemberId, this.pc),\n );\n this.processAndEmitConnectionStatsReport();\n }\n\n public setActive(isActive: boolean): void {\n this.isActive = isActive;\n }\n\n public getActive(): boolean {\n return this.isActive;\n }\n\n private handleError(error: any): void {\n this.isActive = false;\n logger.warn(`CallStatsReportGatherer ${this.callId} processStatsReport fails and set to inactive ${error}`);\n }\n\n private processAndEmitConnectionStatsReport(): void {\n const report = ConnectionStatsReportBuilder.build(this.trackStats.getTrack2stats());\n report.callId = this.callId;\n report.opponentMemberId = this.opponentMemberId;\n\n this.connectionStats.bandwidth = report.bandwidth;\n this.connectionStats.bitrate = report.bitrate;\n this.connectionStats.packetLoss = report.packetLoss;\n\n this.emitter.emitConnectionStatsReport({\n ...report,\n transport: this.connectionStats.transport,\n });\n\n this.connectionStats.transport = [];\n }\n\n public stopProcessingStats(): void {}\n\n private onSignalStateChange(): void {\n if (this.pc.signalingState === \"stable\") {\n if (this.pc.currentRemoteDescription) {\n this.trackStats.mediaSsrcHandler.parse(this.pc.currentRemoteDescription.sdp, \"remote\");\n }\n if (this.pc.currentLocalDescription) {\n this.trackStats.mediaSsrcHandler.parse(this.pc.currentLocalDescription.sdp, \"local\");\n }\n }\n }\n\n public setOpponentMemberId(id: string): void {\n this.opponentMemberId = id;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"connectionStatsBuilder.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/connectionStatsBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D,qBAAa,sBAAsB;WACjB,oBAAoB,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO;CAS7E"}
1
+ {"version":3,"file":"connectionStatsBuilder.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/connectionStatsBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D,qBAAa,sBAAsB;IAC/B,OAAc,oBAAoB,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAQzE;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"connectionStatsReportBuilder.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/connectionStatsReportBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAGH,KAAK,qBAAqB,EAG1B,KAAK,OAAO,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,4BAA4B,CAAC;AAEnF,qBAAa,4BAA4B;WACvB,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,GAAG,qBAAqB;IA0GhF,OAAO,CAAC,MAAM,CAAC,mBAAmB;CAOrC"}
1
+ {"version":3,"file":"connectionStatsReportBuilder.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/connectionStatsReportBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAGH,KAAK,qBAAqB,EAG1B,KAAK,OAAO,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,4BAA4B,CAAC;AAEnF,qBAAa,4BAA4B;IACrC,OAAc,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,GAAG,qBAAqB,CAwG/E;IAED,OAAO,CAAC,MAAM,CAAC,mBAAmB;CAOrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"groupCallStats.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/groupCallStats.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAK7D,qBAAa,cAAc;IAOnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IARpB,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoF;IAC9G,SAAgB,OAAO,qBAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAgD;gBAG/E,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAc;IAG7B,KAAK,IAAI,IAAI;IAQb,IAAI,IAAI,IAAI;IAOZ,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI/C,sBAAsB,CACzB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,iBAAiB,GAClC,OAAO;IAQH,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIlD,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS;IAI3E,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAIzE,OAAO,CAAC,YAAY;IAab,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAG7C"}
1
+ {"version":3,"file":"groupCallStats.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/groupCallStats.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAK7D,qBAAa,cAAc;IAOnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IARpB,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoF;IAC9G,SAAgB,OAAO,qBAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAgD;IAE3F,YACY,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAc,EAChC;IAEG,KAAK,IAAI,IAAI,CAMnB;IAEM,IAAI,IAAI,IAAI,CAKlB;IAEM,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;IAEM,sBAAsB,CACzB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,iBAAiB,GAClC,OAAO,CAMT;IAEM,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAExD;IAEM,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAEjF;IAEM,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAExE;IAED,OAAO,CAAC,YAAY;IAab,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEzC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"mediaSsrcHandler.d.ts","sourceRoot":"","sources":["../../../../src/webrtc/stats/media/mediaSsrcHandler.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAC1B,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEzC,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqE;IAExF,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,GAAG,GAAG,SAAS;IAWpE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAiB/C,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;CAG1D"}
1
+ {"version":3,"file":"mediaSsrcHandler.d.ts","sourceRoot":"","sources":["../../../../src/webrtc/stats/media/mediaSsrcHandler.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAC1B,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEzC,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqE;IAExF,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,GAAG,GAAG,SAAS,CAS1E;IAEM,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAerD;IAEM,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAEtD;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"mediaTrackHandler.d.ts","sourceRoot":"","sources":["../../../../src/webrtc/stats/media/mediaTrackHandler.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,qBAAa,iBAAiB;IACP,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,iBAAiB;IAElD,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,gBAAgB,EAAE;IAa3D,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAe1D,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKrD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKtD,yBAAyB,IAAI,MAAM;IAKnC,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS;CAKlF"}
1
+ {"version":3,"file":"mediaTrackHandler.d.ts","sourceRoot":"","sources":["../../../../src/webrtc/stats/media/mediaTrackHandler.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,qBAAa,iBAAiB;IACP,OAAO,CAAC,QAAQ,CAAC,EAAE;IAAtC,YAAoC,EAAE,EAAE,iBAAiB,EAAI;IAEtD,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,gBAAgB,EAAE,CAWjE;IAEM,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAahE;IAEM,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG3D;IAEM,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG5D;IAEM,yBAAyB,IAAI,MAAM,CAGzC;IAEM,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAI9E;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"mediaTrackStats.d.ts","sourceRoot":"","sources":["../../../../src/webrtc/stats/media/mediaTrackStats.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,WAAW,UAAU;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,OAAO;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhD,qBAAa,eAAe;aAaJ,OAAO,EAAE,OAAO;aAChB,IAAI,EAAE,cAAc;aACpB,IAAI,EAAE,OAAO,GAAG,OAAO;IAd3C,OAAO,CAAC,IAAI,CAA4E;IACxF,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,gBAAgB,CAAkE;IAC1F,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAQ;gBAGL,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,OAAO,GAAG,OAAO;IAGpC,OAAO,IAAI,cAAc;IAIzB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAI/B,OAAO,IAAI,UAAU;IAIrB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAI3C,aAAa,IAAI,UAAU;IAI3B,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC,YAAY,IAAI,MAAM;IAItB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,UAAU,IAAI,OAAO;IAIrB,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAKzC,QAAQ,IAAI,MAAM;IAIlB,YAAY,IAAI,IAAI;IAI3B,IAAW,KAAK,CAAC,OAAO,EAAE,OAAO,EAEhC;IAED;;;OAGG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED,IAAW,KAAK,CAAC,OAAO,EAAE,OAAO,EAEhC;IAED;;;OAGG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED,IAAW,OAAO,CAAC,SAAS,EAAE,OAAO,EAEpC;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAEM,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC;;OAEG;IACI,SAAS,IAAI,MAAM;IAI1B;;OAEG;IACI,mBAAmB,CAAC,sBAAsB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,IAAI;IAKrF,mBAAmB,IAAI,gBAAgB;CAGjD"}
1
+ {"version":3,"file":"mediaTrackStats.d.ts","sourceRoot":"","sources":["../../../../src/webrtc/stats/media/mediaTrackStats.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,WAAW,UAAU;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,OAAO;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhD,qBAAa,eAAe;aAaJ,OAAO,EAAE,OAAO;aAChB,IAAI,EAAE,cAAc;aACpB,IAAI,EAAE,OAAO,GAAG,OAAO;IAd3C,OAAO,CAAC,IAAI,CAA4E;IACxF,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,gBAAgB,CAAkE;IAC1F,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAQ;IAEzB,YACoB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,OAAO,GAAG,OAAO,EACvC;IAEG,OAAO,IAAI,cAAc,CAE/B;IAEM,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAErC;IAEM,OAAO,IAAI,UAAU,CAE3B;IAEM,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAEjD;IAEM,aAAa,IAAI,UAAU,CAEjC;IAEM,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE3C;IAEM,YAAY,IAAI,MAAM,CAE5B;IAEM,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAExC;IAEM,UAAU,IAAI,OAAO,CAE3B;IAEM,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAG/C;IAEM,QAAQ,IAAI,MAAM,CAExB;IAEM,YAAY,IAAI,IAAI,CAE1B;IAED,IAAW,KAAK,CAAC,OAAO,EAAE,OAAO,EAEhC;IAED;;;OAGG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED,IAAW,KAAK,CAAC,OAAO,EAAE,OAAO,EAEhC;IAED;;;OAGG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED,IAAW,OAAO,CAAC,SAAS,EAAE,OAAO,EAEpC;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAEM,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAErC;IAED;;OAEG;IACI,SAAS,IAAI,MAAM,CAEzB;IAED;;OAEG;IACI,mBAAmB,CAAC,sBAAsB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAG3F;IAEM,mBAAmB,IAAI,gBAAgB,CAE7C;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"mediaTrackStatsHandler.d.ts","sourceRoot":"","sources":["../../../../src/webrtc/stats/media/mediaTrackStatsHandler.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,qBAAa,sBAAsB;aAIX,gBAAgB,EAAE,gBAAgB;aAClC,iBAAiB,EAAE,iBAAiB;IAJxD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;gBAG/C,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB;IAGxD;;;;;;OAMG;IACI,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,eAAe,GAAG,SAAS;IAuCnF,wBAAwB,CAAC,MAAM,EAAE,GAAG,GAAG,eAAe,GAAG,SAAS;IAQlE,cAAc,IAAI,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC;IAI/C,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,iBAAiB;CAGnF"}
1
+ {"version":3,"file":"mediaTrackStatsHandler.d.ts","sourceRoot":"","sources":["../../../../src/webrtc/stats/media/mediaTrackStatsHandler.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,qBAAa,sBAAsB;aAIX,gBAAgB,EAAE,gBAAgB;aAClC,iBAAiB,EAAE,iBAAiB;IAJxD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IAEnE,YACoB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EACpD;IAEJ;;;;;;OAMG;IACI,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,eAAe,GAAG,SAAS,CAqCzF;IAEM,wBAAwB,CAAC,MAAM,EAAE,GAAG,GAAG,eAAe,GAAG,SAAS,CAMxE;IAEM,cAAc,IAAI,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAErD;IAEM,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,iBAAiB,CAE/E;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"statsReportEmitter.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/statsReportEmitter.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,WAAW,EACX,KAAK,kBAAkB,EAC1B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,qBAAqB,GAAG;IAChC,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrE,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACxE,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACjE,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACrE,CAAC;AAEF,qBAAa,kBAAmB,SAAQ,iBAAiB,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAClF,kBAAkB,CAAC,aAAa,EAAE,mBAAmB,GAAG,IAAI;IAI5D,yBAAyB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAI9D,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAIhD,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;CAGlE"}
1
+ {"version":3,"file":"statsReportEmitter.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/statsReportEmitter.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,WAAW,EACX,KAAK,kBAAkB,EAC1B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,qBAAqB,GAAG;IAChC,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrE,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACxE,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACjE,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACrE,CAAC;AAEF,qBAAa,kBAAmB,SAAQ,iBAAiB,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAClF,kBAAkB,CAAC,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAElE;IAEM,yBAAyB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAEpE;IAEM,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAEtD;IAEM,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAE9D;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"summaryStatsReportGatherer.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/summaryStatsReportGatherer.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAUlD,qBAAa,0BAA0B;IAChB,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,kBAAkB;IAE/C,KAAK,CAAC,UAAU,EAAE,sBAAsB,EAAE,GAAG,IAAI;WAgD1C,mBAAmB,CAC7B,MAAM,EAAE,kBAAkB,EAC1B,gBAAgB,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,GACjE,IAAI;IAmBP,OAAO,CAAC,2BAA2B;IAsBnC,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,mBAAmB;CAI9B"}
1
+ {"version":3,"file":"summaryStatsReportGatherer.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/summaryStatsReportGatherer.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAUlD,qBAAa,0BAA0B;IAChB,OAAO,CAAC,OAAO;IAAlC,YAA2B,OAAO,EAAE,kBAAkB,EAAI;IAEnD,KAAK,CAAC,UAAU,EAAE,sBAAsB,EAAE,GAAG,IAAI,CA8CvD;IAED,OAAc,mBAAmB,CAC7B,MAAM,EAAE,kBAAkB,EAC1B,gBAAgB,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,GACjE,IAAI,CAiBN;IAED,OAAO,CAAC,2BAA2B;IAsBnC,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,mBAAmB;CAI9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"trackStatsBuilder.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/trackStatsBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,qBAAa,iBAAiB;WACZ,wBAAwB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;WAarE,2BAA2B,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;WAuBpG,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;WAe3F,oBAAoB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI;WAY9E,gBAAgB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI;WAO1E,gBAAgB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI;IAsBxF,OAAO,CAAC,MAAM,CAAC,gBAAgB;WAoBjB,kBAAkB,CAAC,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI;WAqBjG,iBAAiB,CAAC,cAAc,EAAE,eAAe,EAAE,GAAG;QAChE,iBAAiB,EAAE,YAAY,CAAC;QAChC,iBAAiB,EAAE,YAAY,CAAC;KACnC;WA0Ca,WAAW,CAAC,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,GAAG,IAAI;WAchE,qBAAqB,CAAC,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,GAAG,IAAI;CAS3F"}
1
+ {"version":3,"file":"trackStatsBuilder.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/trackStatsBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,qBAAa,iBAAiB;IAC1B,OAAc,wBAAwB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAWlF;IAED,OAAc,2BAA2B,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAqBjH;IAED,OAAc,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAaxG;IAED,OAAc,oBAAoB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAU3F;IAED,OAAc,gBAAgB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAKvF;IAED,OAAc,gBAAgB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAoBvF;IAED,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAoB/B,OAAc,kBAAkB,CAAC,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAmB9G;IAED,OAAc,iBAAiB,CAAC,cAAc,EAAE,eAAe,EAAE,GAAG;QAChE,iBAAiB,EAAE,YAAY,CAAC;QAChC,iBAAiB,EAAE,YAAY,CAAC;KACnC,CAwCA;IAED,OAAc,WAAW,CAAC,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,GAAG,IAAI,CAY7E;IAED,OAAc,qBAAqB,CAAC,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,GAAG,IAAI,CAQvF;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"transportStatsBuilder.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/transportStatsBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,qBAAa,qBAAqB;WAChB,WAAW,CACrB,MAAM,EAAE,cAAc,GAAG,SAAS,EAClC,GAAG,EAAE,wBAAwB,EAC7B,wBAAwB,EAAE,cAAc,EAAE,EAC1C,OAAO,EAAE,OAAO,GACjB,cAAc,EAAE;CAuCtB"}
1
+ {"version":3,"file":"transportStatsBuilder.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/transportStatsBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,qBAAa,qBAAqB;IAC9B,OAAc,WAAW,CACrB,MAAM,EAAE,cAAc,GAAG,SAAS,EAClC,GAAG,EAAE,wBAAwB,EAC7B,wBAAwB,EAAE,cAAc,EAAE,EAC1C,OAAO,EAAE,OAAO,GACjB,cAAc,EAAE,CAsClB;CACJ"}
@@ -1 +1 @@
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
+ {"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 });\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,CAAC,CAAC;MACN;IACJ;IACA,OAAO,wBAAwB;EACnC;AACJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"valueFormatter.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/valueFormatter.ts"],"names":[],"mappings":"AAYA,qBAAa,cAAc;WACT,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;CAaxD"}
1
+ {"version":3,"file":"valueFormatter.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/valueFormatter.ts"],"names":[],"mappings":"AAYA,qBAAa,cAAc;IACvB,OAAc,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAYpD;CACJ"}
@@ -0,0 +1,8 @@
1
+ import { PollingCachedValue } from "./pollingCachedValue.ts";
2
+ import { type IClientWellKnown, type MatrixClient } from "./client.ts";
3
+ import { type Logger } from "./logger.ts";
4
+ /**
5
+ * Builds a cache for the well-known configuration of the given client.
6
+ */
7
+ export declare function createWellKnownCachedValue(client: MatrixClient, logger: Logger): PollingCachedValue<IClientWellKnown>;
8
+ //# sourceMappingURL=wellKnownCachedValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wellKnownCachedValue.d.ts","sourceRoot":"","sources":["../src/wellKnownCachedValue.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAe,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CASrH"}
@@ -0,0 +1,34 @@
1
+ /*
2
+ Copyright 2026 The Matrix.org Foundation C.I.C.
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ */
16
+
17
+ import { PollingCachedValue } from "./pollingCachedValue.js";
18
+ import { ClientEvent } from "./client.js";
19
+ import { AutoDiscovery } from "./autodiscovery.js";
20
+
21
+ /**
22
+ * Builds a cache for the well-known configuration of the given client.
23
+ */
24
+ export function createWellKnownCachedValue(client, logger) {
25
+ return new PollingCachedValue({
26
+ name: "WellKnown",
27
+ logger,
28
+ // No expiration by default
29
+ ttlMillis: undefined,
30
+ fetch: () => AutoDiscovery.getRawClientConfig(client.getDomain() ?? undefined),
31
+ onValueCached: wellKnown => client.emit(ClientEvent.ClientWellKnown, wellKnown)
32
+ });
33
+ }
34
+ //# sourceMappingURL=wellKnownCachedValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wellKnownCachedValue.js","names":[],"sources":["../src/wellKnownCachedValue.ts"],"sourcesContent":["/*\nCopyright 2026 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { PollingCachedValue } from \"./pollingCachedValue.ts\";\nimport { ClientEvent, type IClientWellKnown, type MatrixClient } from \"./client.ts\";\nimport { type Logger } from \"./logger.ts\";\nimport { AutoDiscovery } from \"./autodiscovery.ts\";\n\n/**\n * Builds a cache for the well-known configuration of the given client.\n */\nexport function createWellKnownCachedValue(client: MatrixClient, logger: Logger): PollingCachedValue<IClientWellKnown> {\n return new PollingCachedValue({\n name: \"WellKnown\",\n logger,\n // No expiration by default\n ttlMillis: undefined,\n fetch: () => AutoDiscovery.getRawClientConfig(client.getDomain() ?? undefined),\n onValueCached: (wellKnown) => client.emit(ClientEvent.ClientWellKnown, wellKnown),\n });\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,kBAAkB,QAAQ,yBAAyB;AAC5D,SAAS,WAAW,QAAkD,aAAa;AAEnF,SAAS,aAAa,QAAQ,oBAAoB;;AAElD;AACA;AACA;AACA,OAAO,SAAS,0BAA0B,CAAC,MAAoB,EAAE,MAAc,EAAwC;EACnH,OAAO,IAAI,kBAAkB,CAAC;IAC1B,IAAI,EAAE,WAAW;IACjB,MAAM;IACN;IACA,SAAS,EAAE,SAAS;IACpB,KAAK,EAAE,MAAM,aAAa,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,SAAS,CAAC;IAC9E,aAAa,EAAG,SAAS,IAAK,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,SAAS;EACpF,CAAC,CAAC;AACN","ignoreList":[]}
@@ -36,6 +36,8 @@ The parser is lenient and does not error. You should validate `type` and `parame
36
36
  #### Options
37
37
 
38
38
  - `parameters` (default: `true`): Set to `false` to skip parameters.
39
+ - `comma` (default: `false`): Set to `true` to stop on a comma. This can be used to parse the media range in an `Accept` header.
40
+ - `start` (default: `0`): Set index to start parsing from.
39
41
 
40
42
  ### contentType.format(obj)
41
43
 
@@ -8,6 +8,7 @@
8
8
  */
9
9
  export interface ContentType {
10
10
  type: string;
11
+ index: number;
11
12
  parameters: Record<string, string>;
12
13
  }
13
14
  /**
@@ -18,7 +19,26 @@ export declare function format(obj: Partial<ContentType>): string;
18
19
  * Options for parsing a `Content-Type` header.
19
20
  */
20
21
  export interface ParseOptions {
22
+ /**
23
+ * Exit early on the first semicolon, returning only the type.
24
+ * This is useful for parsing the MIME from `Content-Type` headers.
25
+ *
26
+ * @default false
27
+ */
21
28
  parameters?: boolean;
29
+ /**
30
+ * Exits early on a comma, returning the first value and parameters.
31
+ * This is useful for parsing `Accept` headers.
32
+ *
33
+ * @default false
34
+ */
35
+ comma?: boolean;
36
+ /**
37
+ * The index to start parsing from.
38
+ *
39
+ * @default 0
40
+ */
41
+ start?: number;
22
42
  }
23
43
  /**
24
44
  * Parse a `Content-Type` header.
@@ -52,16 +52,17 @@ function format(obj) {
52
52
  * Parse a `Content-Type` header.
53
53
  */
54
54
  function parse(header, options) {
55
+ const stopChar = options?.comma === true ? COMMA : 65536; // Sentinel for "no stop char".
55
56
  const len = header.length;
56
- let index = skipOWS(header, 0, len);
57
+ let index = skipOWS(header, options?.start ?? 0, len);
57
58
  const valueStart = index;
58
- index = skipValue(header, index, len);
59
+ index = skipValue(header, index, len, stopChar);
59
60
  const valueEnd = trailingOWS(header, valueStart, index);
60
61
  const type = header.slice(valueStart, valueEnd).toLowerCase();
61
- const parameters = options?.parameters === false
62
- ? new NullObject()
63
- : parseParameters(header, index, len);
64
- return { type, parameters };
62
+ if (options?.parameters === false) {
63
+ return { type, index, parameters: new NullObject() };
64
+ }
65
+ return parseParameters(header, type, index, len, stopChar);
65
66
  }
66
67
  const SP = 32; // " "
67
68
  const HTAB = 9; // "\t"
@@ -69,16 +70,21 @@ const SEMI = 59; // ";"
69
70
  const EQ = 61; // "="
70
71
  const DQUOTE = 34; // '"'
71
72
  const BSLASH = 92; // "\\"
73
+ const COMMA = 44; // ","
72
74
  /**
73
75
  * Parses the parameters of a `Content-Type` header starting at the given index.
74
76
  */
75
- function parseParameters(header, index, len) {
77
+ function parseParameters(header, type, index, len, stopChar) {
76
78
  const parameters = new NullObject();
77
79
  parameter: while (index < len) {
80
+ if (header.charCodeAt(index) === stopChar)
81
+ break;
78
82
  index = skipOWS(header, index + 1 /* Skip over ; */, len);
79
83
  const keyStart = index;
80
84
  while (index < len) {
81
85
  const code = header.charCodeAt(index);
86
+ if (code === stopChar)
87
+ break parameter;
82
88
  if (code === SEMI)
83
89
  continue parameter;
84
90
  if (code === EQ) {
@@ -91,7 +97,7 @@ function parseParameters(header, index, len) {
91
97
  while (index < len) {
92
98
  const code = header.charCodeAt(index++);
93
99
  if (code === DQUOTE) {
94
- index = skipValue(header, index, len);
100
+ index = skipValue(header, index, len, stopChar);
95
101
  if (parameters[key] === undefined)
96
102
  parameters[key] = value;
97
103
  break;
@@ -105,7 +111,7 @@ function parseParameters(header, index, len) {
105
111
  continue parameter;
106
112
  }
107
113
  const valueStart = index;
108
- index = skipValue(header, index, len);
114
+ index = skipValue(header, index, len, stopChar);
109
115
  if (parameters[key] === undefined) {
110
116
  const valueEnd = trailingOWS(header, valueStart, index);
111
117
  parameters[key] = header.slice(valueStart, valueEnd);
@@ -115,15 +121,15 @@ function parseParameters(header, index, len) {
115
121
  index++;
116
122
  }
117
123
  }
118
- return parameters;
124
+ return { type, index, parameters };
119
125
  }
120
126
  /**
121
- * Skip over characters until a semicolon.
127
+ * Skip over characters until a semicolon or other exit character.
122
128
  */
123
- function skipValue(str, index, len) {
129
+ function skipValue(str, index, len, stopChar) {
124
130
  while (index < len) {
125
- const char = str.charCodeAt(index);
126
- if (char === SEMI)
131
+ const code = str.charCodeAt(index);
132
+ if (code === SEMI || code === stopChar)
127
133
  break;
128
134
  index++;
129
135
  }