@openclaw/matrix 2026.7.1-beta.1 → 2026.7.1-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1071) hide show
  1. package/dist/{account-selection-Bv_ZuOu4.js → account-selection-5e4mHR1m.js} +1 -1
  2. package/dist/api.js +5 -5
  3. package/dist/{approval-handler.runtime-GpL8SxX2.js → approval-handler.runtime-DI5x9r8I.js} +5 -5
  4. package/dist/{approval-ids-DIKCZewR.js → approval-ids-ZgqbspmS.js} +1 -1
  5. package/dist/{approval-reaction-auth-DhBxqiQQ.js → approval-reaction-auth-D9LijQhr.js} +2 -2
  6. package/dist/{approval-reactions-BRGQgOu2.js → approval-reactions-BdUaUXVw.js} +24 -73
  7. package/dist/auth-presence.js +1 -1
  8. package/dist/{channel-CGc6D4tf.js → channel-jUTBsjHU.js} +21 -23
  9. package/dist/channel-plugin-api.js +1 -1
  10. package/dist/{channel.runtime-CPu_uwsn.js → channel.runtime-DO1Nv9ed.js} +26 -17
  11. package/dist/{cli-BfwYmyEc.js → cli-CEfWwCKx.js} +10 -17
  12. package/dist/{cli-metadata-FO-fJqf0.js → cli-metadata-CfiEO-CE.js} +1 -1
  13. package/dist/cli-metadata.js +1 -1
  14. package/dist/{client-CVluBRDh.js → client-FRuyCNju.js} +2 -2
  15. package/dist/{client-bootstrap-1cbA9aSs.js → client-bootstrap-DjFJ7e0N.js} +6 -10
  16. package/dist/{client-Cb5ILtpE.js → client-tgnlQJk4.js} +2 -2
  17. package/dist/{config-schema-DFRmUTAG.js → config-schema-DtnhNYd-.js} +1 -1
  18. package/dist/contract-api.js +2 -2
  19. package/dist/{create-client-8YNurIAr.js → create-client-CNakT7zF.js} +7 -10
  20. package/dist/{credentials-G8lNmiME.js → credentials-Ds9V1mn2.js} +1 -1
  21. package/dist/{credentials-read-TzTOQPOM.js → credentials-read-BlkvsNFg.js} +1 -1
  22. package/dist/{credentials-write.runtime-cZhhyGAZ.js → credentials-write.runtime-CTqqxcut.js} +2 -5
  23. package/dist/{crypto-runtime-hMMmqNr1.js → crypto-runtime-B74cTS6A.js} +11 -9
  24. package/dist/{crypto-state-store-DK2tcEyP.js → crypto-state-store-Jy3qwhdy.js} +1 -1
  25. package/dist/{deps-D3bkh48_.js → deps-CdjHvnmh.js} +20 -2
  26. package/dist/{directory-live-pjbvjDz2.js → directory-live-Ufd4qSpX.js} +2 -2
  27. package/dist/{doctor-BRSDNU5C.js → doctor-DfaOqFtr.js} +3 -3
  28. package/dist/{doctor-contract-Dq8OZWHF.js → doctor-contract-BAja_fmb.js} +1 -1
  29. package/dist/doctor-contract-api.js +8 -14
  30. package/dist/{draft-stream-Djasj65z.js → draft-stream-D4EH25gv.js} +1 -1
  31. package/dist/{encryption-guidance-Bg3IRYoX.js → encryption-guidance-D8walY04.js} +1 -1
  32. package/dist/{file-sync-store-BWLVB01Y.js → file-sync-store-DVm0ACml.js} +3 -3
  33. package/dist/helper-api.js +1 -1
  34. package/dist/{idb-persistence-BGY1CJ7J.js → idb-persistence-BHm97th-.js} +1 -1
  35. package/dist/index.js +3 -6
  36. package/dist/{legacy-crypto-inspector-D_8iylBq.js → legacy-crypto-inspector-vzXSkm18.js} +1 -1
  37. package/dist/{legacy-crypto-restore-B0gcIEkE.js → legacy-crypto-restore-CIBfOmLn.js} +2 -2
  38. package/dist/{matrix-migration.runtime-Ctlb_rZl.js → matrix-migration.runtime-BMCyrANT.js} +3 -3
  39. package/dist/{media-text-CUFW_BP5.js → media-text-p-LP21qs.js} +1 -1
  40. package/dist/{messages-C1dIZHKy.js → messages-DRKkiEY-.js} +6 -5
  41. package/dist/{monitor-BMGnvIbg.js → monitor-CsGOGdwu.js} +89 -119
  42. package/dist/plugin-entry.handlers.runtime.js +2 -5
  43. package/dist/probe.runtime-2MZLc6ng.js +3 -0
  44. package/dist/{profile-update-BaEk4COs.js → profile-update-Ucc8RrJL.js} +2 -2
  45. package/dist/{reaction-events-n69MjKzG.js → reaction-events-DentrVii.js} +5 -12
  46. package/dist/{recovery-key-store-BGk8c_gf.js → recovery-key-store-DSeLFvNx.js} +1 -1
  47. package/dist/{resolve-targets-DyGW9WzC.js → resolve-targets-DcV_KfgX.js} +1 -1
  48. package/dist/{resolver.runtime-DhZV369r.js → resolver.runtime-Hr6bO5zl.js} +1 -1
  49. package/dist/runtime-api.js +2 -2
  50. package/dist/runtime-heavy-api.js +1 -1
  51. package/dist/{sdk-DOxaiBRE.js → sdk-AZYVl34z.js} +12 -13
  52. package/dist/{send-C0NwpZ-c.js → send-D92v6Yy0.js} +22 -12
  53. package/dist/session-binding-contract-api.js +1 -1
  54. package/dist/{setup-bootstrap-DbWPVINS.js → setup-bootstrap-Da564w5f.js} +2 -2
  55. package/dist/{setup-core-DVkrIoax.js → setup-core-BGgbrdaJ.js} +5 -8
  56. package/dist/setup-plugin-api.js +3 -3
  57. package/dist/{setup-surface-CN7DEvpg.js → setup-surface-iJ6pd-t5.js} +6 -6
  58. package/dist/{shared-iLI-9tb9.js → shared-DkFfq7mH.js} +16 -32
  59. package/dist/{startup-verification-Bd31KqLv.js → startup-verification-BKMAXvcV.js} +2 -2
  60. package/dist/{storage-t5S-5c_5.js → storage-CQdyKcGg.js} +5 -5
  61. package/dist/subagent-hooks-api.js +2 -5
  62. package/dist/{thread-bindings-D73QFTXW.js → thread-bindings-BX5nmWpw.js} +3 -3
  63. package/dist/{tool-actions.runtime-BCCPq_aO.js → tool-actions.runtime-C1d5fxE_.js} +12 -12
  64. package/dist/{verification-C0KvXyHK.js → verification-BGCMiO1p.js} +2 -2
  65. package/node_modules/@babel/runtime/package.json +468 -1089
  66. package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/.cargo/config.toml +2 -0
  67. package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/CHANGELOG.md +12 -3
  68. package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/README.md +17 -0
  69. package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/download-lib.js +10 -2
  70. package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/package.json +1 -1
  71. package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/xtask/.idea/modules.xml +8 -0
  72. package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/xtask/.idea/vcs.xml +6 -0
  73. package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/xtask/.idea/xtask.iml +11 -0
  74. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/package.json +1 -1
  75. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.cjs +28 -28
  76. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.js +24 -24
  77. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm +0 -0
  78. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm.d.ts +58 -58
  79. package/node_modules/content-type/README.md +32 -57
  80. package/node_modules/content-type/dist/index.d.ts +26 -0
  81. package/node_modules/content-type/dist/index.js +170 -0
  82. package/node_modules/content-type/dist/index.js.map +1 -0
  83. package/node_modules/content-type/package.json +35 -25
  84. package/node_modules/linkify-it/README.md +3 -4
  85. package/node_modules/linkify-it/build/index.cjs.js +44 -41
  86. package/node_modules/linkify-it/index.mjs +10 -11
  87. package/node_modules/linkify-it/lib/re.mjs +34 -30
  88. package/node_modules/linkify-it/package.json +10 -15
  89. package/node_modules/markdown-it/dist/index.cjs.js +3652 -5378
  90. package/node_modules/markdown-it/dist/index.cjs.js.map +1 -0
  91. package/node_modules/markdown-it/dist/markdown-it.js +1399 -4479
  92. package/node_modules/markdown-it/dist/markdown-it.js.map +1 -0
  93. package/node_modules/markdown-it/dist/markdown-it.min.js +3 -2
  94. package/node_modules/markdown-it/dist/markdown-it.min.js.map +1 -0
  95. package/node_modules/markdown-it/lib/common/html_re.mjs +9 -9
  96. package/node_modules/markdown-it/lib/common/utils.mjs +2 -11
  97. package/node_modules/markdown-it/lib/parser_block.mjs +9 -9
  98. package/node_modules/markdown-it/lib/parser_core.mjs +7 -7
  99. package/node_modules/markdown-it/lib/parser_inline.mjs +16 -16
  100. package/node_modules/markdown-it/lib/renderer.mjs +2 -2
  101. package/node_modules/markdown-it/lib/rules_block/blockquote.mjs +6 -6
  102. package/node_modules/markdown-it/lib/rules_block/code.mjs +2 -2
  103. package/node_modules/markdown-it/lib/rules_block/fence.mjs +4 -4
  104. package/node_modules/markdown-it/lib/rules_block/heading.mjs +7 -7
  105. package/node_modules/markdown-it/lib/rules_block/hr.mjs +2 -2
  106. package/node_modules/markdown-it/lib/rules_block/html_block.mjs +6 -6
  107. package/node_modules/markdown-it/lib/rules_block/lheading.mjs +8 -8
  108. package/node_modules/markdown-it/lib/rules_block/list.mjs +6 -6
  109. package/node_modules/markdown-it/lib/rules_block/paragraph.mjs +5 -5
  110. package/node_modules/markdown-it/lib/rules_block/reference.mjs +1 -1
  111. package/node_modules/markdown-it/lib/rules_block/state_block.mjs +6 -6
  112. package/node_modules/markdown-it/lib/rules_block/table.mjs +4 -4
  113. package/node_modules/markdown-it/lib/rules_core/block.mjs +3 -3
  114. package/node_modules/markdown-it/lib/rules_core/linkify.mjs +15 -15
  115. package/node_modules/markdown-it/lib/rules_core/normalize.mjs +2 -2
  116. package/node_modules/markdown-it/lib/rules_inline/autolink.mjs +17 -17
  117. package/node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs +2 -2
  118. package/node_modules/markdown-it/lib/rules_inline/emphasis.mjs +8 -8
  119. package/node_modules/markdown-it/lib/rules_inline/entity.mjs +7 -7
  120. package/node_modules/markdown-it/lib/rules_inline/escape.mjs +15 -1
  121. package/node_modules/markdown-it/lib/rules_inline/html_inline.mjs +1 -1
  122. package/node_modules/markdown-it/lib/rules_inline/link.mjs +1 -1
  123. package/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +2 -2
  124. package/node_modules/markdown-it/lib/rules_inline/strikethrough.mjs +10 -10
  125. package/node_modules/markdown-it/lib/token.mjs +12 -12
  126. package/node_modules/markdown-it/package.json +25 -34
  127. package/node_modules/matrix-js-sdk/CHANGELOG.md +24 -0
  128. package/node_modules/matrix-js-sdk/README.md +1 -1
  129. package/node_modules/matrix-js-sdk/lib/@types/AESEncryptedSecretStoragePayload.js +3 -1
  130. package/node_modules/matrix-js-sdk/lib/@types/IIdentityServerProvider.js +3 -1
  131. package/node_modules/matrix-js-sdk/lib/@types/PushRules.js +7 -7
  132. package/node_modules/matrix-js-sdk/lib/@types/PushRules.js.map +1 -1
  133. package/node_modules/matrix-js-sdk/lib/@types/auth.js +4 -4
  134. package/node_modules/matrix-js-sdk/lib/@types/auth.js.map +1 -1
  135. package/node_modules/matrix-js-sdk/lib/@types/beacon.js +2 -2
  136. package/node_modules/matrix-js-sdk/lib/@types/beacon.js.map +1 -1
  137. package/node_modules/matrix-js-sdk/lib/@types/common.js +3 -1
  138. package/node_modules/matrix-js-sdk/lib/@types/crypto.js +3 -1
  139. package/node_modules/matrix-js-sdk/lib/@types/event.d.ts +6 -1
  140. package/node_modules/matrix-js-sdk/lib/@types/event.d.ts.map +1 -1
  141. package/node_modules/matrix-js-sdk/lib/@types/event.js +23 -20
  142. package/node_modules/matrix-js-sdk/lib/@types/event.js.map +1 -1
  143. package/node_modules/matrix-js-sdk/lib/@types/events.js +3 -1
  144. package/node_modules/matrix-js-sdk/lib/@types/extensible_events.js +6 -6
  145. package/node_modules/matrix-js-sdk/lib/@types/extensible_events.js.map +1 -1
  146. package/node_modules/matrix-js-sdk/lib/@types/global.d.js.map +1 -1
  147. package/node_modules/matrix-js-sdk/lib/@types/json.js +3 -1
  148. package/node_modules/matrix-js-sdk/lib/@types/local_notifications.js +3 -1
  149. package/node_modules/matrix-js-sdk/lib/@types/location.js +4 -4
  150. package/node_modules/matrix-js-sdk/lib/@types/location.js.map +1 -1
  151. package/node_modules/matrix-js-sdk/lib/@types/matrix-sdk-crypto-wasm.d.js +3 -1
  152. package/node_modules/matrix-js-sdk/lib/@types/media.js +3 -1
  153. package/node_modules/matrix-js-sdk/lib/@types/membership.js +1 -1
  154. package/node_modules/matrix-js-sdk/lib/@types/membership.js.map +1 -1
  155. package/node_modules/matrix-js-sdk/lib/@types/partials.js +6 -6
  156. package/node_modules/matrix-js-sdk/lib/@types/partials.js.map +1 -1
  157. package/node_modules/matrix-js-sdk/lib/@types/polls.js +5 -5
  158. package/node_modules/matrix-js-sdk/lib/@types/polls.js.map +1 -1
  159. package/node_modules/matrix-js-sdk/lib/@types/read_receipts.js +2 -2
  160. package/node_modules/matrix-js-sdk/lib/@types/read_receipts.js.map +1 -1
  161. package/node_modules/matrix-js-sdk/lib/@types/registration.js +3 -1
  162. package/node_modules/matrix-js-sdk/lib/@types/requests.js +1 -1
  163. package/node_modules/matrix-js-sdk/lib/@types/requests.js.map +1 -1
  164. package/node_modules/matrix-js-sdk/lib/@types/retention.d.ts +15 -0
  165. package/node_modules/matrix-js-sdk/lib/@types/retention.d.ts.map +1 -0
  166. package/node_modules/matrix-js-sdk/lib/@types/retention.js +13 -0
  167. package/node_modules/matrix-js-sdk/lib/@types/retention.js.map +1 -0
  168. package/node_modules/matrix-js-sdk/lib/@types/search.js +1 -1
  169. package/node_modules/matrix-js-sdk/lib/@types/search.js.map +1 -1
  170. package/node_modules/matrix-js-sdk/lib/@types/signed.js +3 -1
  171. package/node_modules/matrix-js-sdk/lib/@types/spaces.js +3 -1
  172. package/node_modules/matrix-js-sdk/lib/@types/state_events.js +3 -1
  173. package/node_modules/matrix-js-sdk/lib/@types/synapse.js +3 -1
  174. package/node_modules/matrix-js-sdk/lib/@types/sync.js +1 -1
  175. package/node_modules/matrix-js-sdk/lib/@types/sync.js.map +1 -1
  176. package/node_modules/matrix-js-sdk/lib/@types/threepids.js +1 -1
  177. package/node_modules/matrix-js-sdk/lib/@types/threepids.js.map +1 -1
  178. package/node_modules/matrix-js-sdk/lib/@types/topic.js +1 -1
  179. package/node_modules/matrix-js-sdk/lib/@types/topic.js.map +1 -1
  180. package/node_modules/matrix-js-sdk/lib/@types/uia.js +3 -1
  181. package/node_modules/matrix-js-sdk/lib/NamespacedValue.js +8 -8
  182. package/node_modules/matrix-js-sdk/lib/NamespacedValue.js.map +1 -1
  183. package/node_modules/matrix-js-sdk/lib/ReEmitter.js +8 -15
  184. package/node_modules/matrix-js-sdk/lib/ReEmitter.js.map +1 -1
  185. package/node_modules/matrix-js-sdk/lib/ToDeviceMessageQueue.js +47 -55
  186. package/node_modules/matrix-js-sdk/lib/ToDeviceMessageQueue.js.map +1 -1
  187. package/node_modules/matrix-js-sdk/lib/autodiscovery.js +233 -247
  188. package/node_modules/matrix-js-sdk/lib/autodiscovery.js.map +1 -1
  189. package/node_modules/matrix-js-sdk/lib/base64.js +1 -1
  190. package/node_modules/matrix-js-sdk/lib/base64.js.map +1 -1
  191. package/node_modules/matrix-js-sdk/lib/browser-index.d.ts +2 -2
  192. package/node_modules/matrix-js-sdk/lib/browser-index.d.ts.map +1 -1
  193. package/node_modules/matrix-js-sdk/lib/browser-index.js +5 -5
  194. package/node_modules/matrix-js-sdk/lib/browser-index.js.map +1 -1
  195. package/node_modules/matrix-js-sdk/lib/capabilityPoller.d.ts +38 -0
  196. package/node_modules/matrix-js-sdk/lib/capabilityPoller.d.ts.map +1 -0
  197. package/node_modules/matrix-js-sdk/lib/capabilityPoller.js +93 -0
  198. package/node_modules/matrix-js-sdk/lib/capabilityPoller.js.map +1 -0
  199. package/node_modules/matrix-js-sdk/lib/client.d.ts +9 -8
  200. package/node_modules/matrix-js-sdk/lib/client.d.ts.map +1 -1
  201. package/node_modules/matrix-js-sdk/lib/client.js +2123 -2483
  202. package/node_modules/matrix-js-sdk/lib/client.js.map +1 -1
  203. package/node_modules/matrix-js-sdk/lib/common-crypto/CryptoBackend.js +3 -1
  204. package/node_modules/matrix-js-sdk/lib/common-crypto/CryptoBackend.js.map +1 -1
  205. package/node_modules/matrix-js-sdk/lib/common-crypto/key-passphrase.js.map +1 -1
  206. package/node_modules/matrix-js-sdk/lib/content-helpers.js +43 -48
  207. package/node_modules/matrix-js-sdk/lib/content-helpers.js.map +1 -1
  208. package/node_modules/matrix-js-sdk/lib/content-repo.js +14 -24
  209. package/node_modules/matrix-js-sdk/lib/content-repo.js.map +1 -1
  210. package/node_modules/matrix-js-sdk/lib/crypto/store/base.js +6 -6
  211. package/node_modules/matrix-js-sdk/lib/crypto/store/base.js.map +1 -1
  212. package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store-backend.js +189 -237
  213. package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -1
  214. package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store.js +25 -28
  215. package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store.js.map +1 -1
  216. package/node_modules/matrix-js-sdk/lib/crypto/store/localStorage-crypto-store.js +113 -145
  217. package/node_modules/matrix-js-sdk/lib/crypto/store/localStorage-crypto-store.js.map +1 -1
  218. package/node_modules/matrix-js-sdk/lib/crypto/store/memory-crypto-store.js +74 -105
  219. package/node_modules/matrix-js-sdk/lib/crypto/store/memory-crypto-store.js.map +1 -1
  220. package/node_modules/matrix-js-sdk/lib/crypto-api/CryptoEvent.js +1 -1
  221. package/node_modules/matrix-js-sdk/lib/crypto-api/CryptoEvent.js.map +1 -1
  222. package/node_modules/matrix-js-sdk/lib/crypto-api/CryptoEventHandlerMap.js +3 -1
  223. package/node_modules/matrix-js-sdk/lib/crypto-api/index.d.ts +15 -6
  224. package/node_modules/matrix-js-sdk/lib/crypto-api/index.d.ts.map +1 -1
  225. package/node_modules/matrix-js-sdk/lib/crypto-api/index.js +76 -76
  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/key-passphrase.js +15 -23
  228. package/node_modules/matrix-js-sdk/lib/crypto-api/key-passphrase.js.map +1 -1
  229. package/node_modules/matrix-js-sdk/lib/crypto-api/keybackup.js +3 -1
  230. package/node_modules/matrix-js-sdk/lib/crypto-api/recovery-key.js +11 -12
  231. package/node_modules/matrix-js-sdk/lib/crypto-api/recovery-key.js.map +1 -1
  232. package/node_modules/matrix-js-sdk/lib/crypto-api/verification.js +3 -3
  233. package/node_modules/matrix-js-sdk/lib/crypto-api/verification.js.map +1 -1
  234. package/node_modules/matrix-js-sdk/lib/digest.js +7 -14
  235. package/node_modules/matrix-js-sdk/lib/digest.js.map +1 -1
  236. package/node_modules/matrix-js-sdk/lib/embedded.d.ts.map +1 -1
  237. package/node_modules/matrix-js-sdk/lib/embedded.js +379 -500
  238. package/node_modules/matrix-js-sdk/lib/embedded.js.map +1 -1
  239. package/node_modules/matrix-js-sdk/lib/errors.js +2 -2
  240. package/node_modules/matrix-js-sdk/lib/errors.js.map +1 -1
  241. package/node_modules/matrix-js-sdk/lib/event-mapper.js +10 -12
  242. package/node_modules/matrix-js-sdk/lib/event-mapper.js.map +1 -1
  243. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -1
  244. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/InvalidEventError.js.map +1 -1
  245. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/MessageEvent.js +26 -28
  246. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/MessageEvent.js.map +1 -1
  247. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollEndEvent.js +11 -12
  248. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollEndEvent.js.map +1 -1
  249. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollResponseEvent.js +6 -6
  250. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollResponseEvent.js.map +1 -1
  251. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollStartEvent.js +36 -38
  252. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollStartEvent.js.map +1 -1
  253. package/node_modules/matrix-js-sdk/lib/extensible_events_v1/utilities.js.map +1 -1
  254. package/node_modules/matrix-js-sdk/lib/feature.js +18 -31
  255. package/node_modules/matrix-js-sdk/lib/feature.js.map +1 -1
  256. package/node_modules/matrix-js-sdk/lib/filter-component.d.ts.map +1 -1
  257. package/node_modules/matrix-js-sdk/lib/filter-component.js +20 -26
  258. package/node_modules/matrix-js-sdk/lib/filter-component.js.map +1 -1
  259. package/node_modules/matrix-js-sdk/lib/filter.js +14 -15
  260. package/node_modules/matrix-js-sdk/lib/filter.js.map +1 -1
  261. package/node_modules/matrix-js-sdk/lib/http-api/errors.js +41 -56
  262. package/node_modules/matrix-js-sdk/lib/http-api/errors.js.map +1 -1
  263. package/node_modules/matrix-js-sdk/lib/http-api/fetch.js +140 -157
  264. package/node_modules/matrix-js-sdk/lib/http-api/fetch.js.map +1 -1
  265. package/node_modules/matrix-js-sdk/lib/http-api/index.js +17 -20
  266. package/node_modules/matrix-js-sdk/lib/http-api/index.js.map +1 -1
  267. package/node_modules/matrix-js-sdk/lib/http-api/interface.js +1 -1
  268. package/node_modules/matrix-js-sdk/lib/http-api/interface.js.map +1 -1
  269. package/node_modules/matrix-js-sdk/lib/http-api/method.js +1 -1
  270. package/node_modules/matrix-js-sdk/lib/http-api/method.js.map +1 -1
  271. package/node_modules/matrix-js-sdk/lib/http-api/prefix.js +3 -3
  272. package/node_modules/matrix-js-sdk/lib/http-api/prefix.js.map +1 -1
  273. package/node_modules/matrix-js-sdk/lib/http-api/refresh.js +80 -99
  274. package/node_modules/matrix-js-sdk/lib/http-api/refresh.js.map +1 -1
  275. package/node_modules/matrix-js-sdk/lib/http-api/utils.d.ts +1 -1
  276. package/node_modules/matrix-js-sdk/lib/http-api/utils.d.ts.map +1 -1
  277. package/node_modules/matrix-js-sdk/lib/http-api/utils.js +35 -47
  278. package/node_modules/matrix-js-sdk/lib/http-api/utils.js.map +1 -1
  279. package/node_modules/matrix-js-sdk/lib/index.js.map +1 -1
  280. package/node_modules/matrix-js-sdk/lib/indexeddb-helpers.js +3 -3
  281. package/node_modules/matrix-js-sdk/lib/indexeddb-helpers.js.map +1 -1
  282. package/node_modules/matrix-js-sdk/lib/indexeddb-worker.js.map +1 -1
  283. package/node_modules/matrix-js-sdk/lib/interactive-auth.d.ts +5 -5
  284. package/node_modules/matrix-js-sdk/lib/interactive-auth.d.ts.map +1 -1
  285. package/node_modules/matrix-js-sdk/lib/interactive-auth.js +181 -203
  286. package/node_modules/matrix-js-sdk/lib/interactive-auth.js.map +1 -1
  287. package/node_modules/matrix-js-sdk/lib/logger.js +22 -56
  288. package/node_modules/matrix-js-sdk/lib/logger.js.map +1 -1
  289. package/node_modules/matrix-js-sdk/lib/matrix.d.ts +1 -0
  290. package/node_modules/matrix-js-sdk/lib/matrix.d.ts.map +1 -1
  291. package/node_modules/matrix-js-sdk/lib/matrix.js +8 -11
  292. package/node_modules/matrix-js-sdk/lib/matrix.js.map +1 -1
  293. package/node_modules/matrix-js-sdk/lib/matrixrtc/CallMembership.js +83 -76
  294. package/node_modules/matrix-js-sdk/lib/matrixrtc/CallMembership.js.map +1 -1
  295. package/node_modules/matrix-js-sdk/lib/matrixrtc/EncryptionManager.js +1 -1
  296. package/node_modules/matrix-js-sdk/lib/matrixrtc/EncryptionManager.js.map +1 -1
  297. package/node_modules/matrix-js-sdk/lib/matrixrtc/IKeyTransport.js +1 -1
  298. package/node_modules/matrix-js-sdk/lib/matrixrtc/IKeyTransport.js.map +1 -1
  299. package/node_modules/matrix-js-sdk/lib/matrixrtc/IMembershipManager.js +1 -1
  300. package/node_modules/matrix-js-sdk/lib/matrixrtc/IMembershipManager.js.map +1 -1
  301. package/node_modules/matrix-js-sdk/lib/matrixrtc/LivekitTransport.d.ts +1 -1
  302. package/node_modules/matrix-js-sdk/lib/matrixrtc/LivekitTransport.js +4 -4
  303. package/node_modules/matrix-js-sdk/lib/matrixrtc/LivekitTransport.js.map +1 -1
  304. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -1
  305. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js +144 -184
  306. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
  307. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSessionManager.js +35 -39
  308. package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -1
  309. package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.d.ts +2 -0
  310. package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.d.ts.map +1 -1
  311. package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.js +346 -383
  312. package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.js.map +1 -1
  313. package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManagerActionScheduler.d.ts.map +1 -1
  314. package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManagerActionScheduler.js +54 -59
  315. package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -1
  316. package/node_modules/matrix-js-sdk/lib/matrixrtc/RTCEncryptionManager.js +117 -139
  317. package/node_modules/matrix-js-sdk/lib/matrixrtc/RTCEncryptionManager.js.map +1 -1
  318. package/node_modules/matrix-js-sdk/lib/matrixrtc/ToDeviceKeyTransport.js +49 -54
  319. package/node_modules/matrix-js-sdk/lib/matrixrtc/ToDeviceKeyTransport.js.map +1 -1
  320. package/node_modules/matrix-js-sdk/lib/matrixrtc/index.js.map +1 -1
  321. package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/common.js +1 -1
  322. package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/common.js.map +1 -1
  323. package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/index.js.map +1 -1
  324. package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/rtc.js +15 -23
  325. package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/rtc.js.map +1 -1
  326. package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/session.js +4 -5
  327. package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/session.js.map +1 -1
  328. package/node_modules/matrix-js-sdk/lib/matrixrtc/types.js +4 -6
  329. package/node_modules/matrix-js-sdk/lib/matrixrtc/types.js.map +1 -1
  330. package/node_modules/matrix-js-sdk/lib/matrixrtc/utils.js +4 -11
  331. package/node_modules/matrix-js-sdk/lib/matrixrtc/utils.js.map +1 -1
  332. package/node_modules/matrix-js-sdk/lib/models/MSC3089Branch.js +91 -116
  333. package/node_modules/matrix-js-sdk/lib/models/MSC3089Branch.js.map +1 -1
  334. package/node_modules/matrix-js-sdk/lib/models/MSC3089TreeSpace.js +209 -244
  335. package/node_modules/matrix-js-sdk/lib/models/MSC3089TreeSpace.js.map +1 -1
  336. package/node_modules/matrix-js-sdk/lib/models/ToDeviceMessage.js +3 -1
  337. package/node_modules/matrix-js-sdk/lib/models/beacon.js +20 -15
  338. package/node_modules/matrix-js-sdk/lib/models/beacon.js.map +1 -1
  339. package/node_modules/matrix-js-sdk/lib/models/compare-event-ordering.js +13 -13
  340. package/node_modules/matrix-js-sdk/lib/models/compare-event-ordering.js.map +1 -1
  341. package/node_modules/matrix-js-sdk/lib/models/device.js +10 -3
  342. package/node_modules/matrix-js-sdk/lib/models/device.js.map +1 -1
  343. package/node_modules/matrix-js-sdk/lib/models/event-context.js +5 -7
  344. package/node_modules/matrix-js-sdk/lib/models/event-context.js.map +1 -1
  345. package/node_modules/matrix-js-sdk/lib/models/event-status.js +1 -1
  346. package/node_modules/matrix-js-sdk/lib/models/event-status.js.map +1 -1
  347. package/node_modules/matrix-js-sdk/lib/models/event-timeline-set.js +91 -91
  348. package/node_modules/matrix-js-sdk/lib/models/event-timeline-set.js.map +1 -1
  349. package/node_modules/matrix-js-sdk/lib/models/event-timeline.js +31 -29
  350. package/node_modules/matrix-js-sdk/lib/models/event-timeline.js.map +1 -1
  351. package/node_modules/matrix-js-sdk/lib/models/event.js +215 -235
  352. package/node_modules/matrix-js-sdk/lib/models/event.js.map +1 -1
  353. package/node_modules/matrix-js-sdk/lib/models/invites-ignorer-types.js +4 -4
  354. package/node_modules/matrix-js-sdk/lib/models/invites-ignorer-types.js.map +1 -1
  355. package/node_modules/matrix-js-sdk/lib/models/invites-ignorer.js +159 -179
  356. package/node_modules/matrix-js-sdk/lib/models/invites-ignorer.js.map +1 -1
  357. package/node_modules/matrix-js-sdk/lib/models/poll.js +72 -78
  358. package/node_modules/matrix-js-sdk/lib/models/poll.js.map +1 -1
  359. package/node_modules/matrix-js-sdk/lib/models/profile-keys.js +2 -2
  360. package/node_modules/matrix-js-sdk/lib/models/profile-keys.js.map +1 -1
  361. package/node_modules/matrix-js-sdk/lib/models/read-receipt.js +40 -56
  362. package/node_modules/matrix-js-sdk/lib/models/read-receipt.js.map +1 -1
  363. package/node_modules/matrix-js-sdk/lib/models/related-relations.js +2 -0
  364. package/node_modules/matrix-js-sdk/lib/models/related-relations.js.map +1 -1
  365. package/node_modules/matrix-js-sdk/lib/models/relations-container.js +20 -21
  366. package/node_modules/matrix-js-sdk/lib/models/relations-container.js.map +1 -1
  367. package/node_modules/matrix-js-sdk/lib/models/relations.js +131 -156
  368. package/node_modules/matrix-js-sdk/lib/models/relations.js.map +1 -1
  369. package/node_modules/matrix-js-sdk/lib/models/room-member.js +44 -27
  370. package/node_modules/matrix-js-sdk/lib/models/room-member.js.map +1 -1
  371. package/node_modules/matrix-js-sdk/lib/models/room-receipts.js +48 -55
  372. package/node_modules/matrix-js-sdk/lib/models/room-receipts.js.map +1 -1
  373. package/node_modules/matrix-js-sdk/lib/models/room-retention.d.ts +28 -0
  374. package/node_modules/matrix-js-sdk/lib/models/room-retention.d.ts.map +1 -0
  375. package/node_modules/matrix-js-sdk/lib/models/room-retention.js +192 -0
  376. package/node_modules/matrix-js-sdk/lib/models/room-retention.js.map +1 -0
  377. package/node_modules/matrix-js-sdk/lib/models/room-state.js +141 -170
  378. package/node_modules/matrix-js-sdk/lib/models/room-state.js.map +1 -1
  379. package/node_modules/matrix-js-sdk/lib/models/room-sticky-events.d.ts +1 -0
  380. package/node_modules/matrix-js-sdk/lib/models/room-sticky-events.d.ts.map +1 -1
  381. package/node_modules/matrix-js-sdk/lib/models/room-sticky-events.js +46 -65
  382. package/node_modules/matrix-js-sdk/lib/models/room-sticky-events.js.map +1 -1
  383. package/node_modules/matrix-js-sdk/lib/models/room-summary.js.map +1 -1
  384. package/node_modules/matrix-js-sdk/lib/models/room.d.ts +2 -1
  385. package/node_modules/matrix-js-sdk/lib/models/room.d.ts.map +1 -1
  386. package/node_modules/matrix-js-sdk/lib/models/room.js +800 -887
  387. package/node_modules/matrix-js-sdk/lib/models/room.js.map +1 -1
  388. package/node_modules/matrix-js-sdk/lib/models/search-result.js +5 -5
  389. package/node_modules/matrix-js-sdk/lib/models/search-result.js.map +1 -1
  390. package/node_modules/matrix-js-sdk/lib/models/thread.js +267 -283
  391. package/node_modules/matrix-js-sdk/lib/models/thread.js.map +1 -1
  392. package/node_modules/matrix-js-sdk/lib/models/typed-event-emitter.js +7 -18
  393. package/node_modules/matrix-js-sdk/lib/models/typed-event-emitter.js.map +1 -1
  394. package/node_modules/matrix-js-sdk/lib/models/user.js +26 -7
  395. package/node_modules/matrix-js-sdk/lib/models/user.js.map +1 -1
  396. package/node_modules/matrix-js-sdk/lib/oidc/authorize.js +208 -241
  397. package/node_modules/matrix-js-sdk/lib/oidc/authorize.js.map +1 -1
  398. package/node_modules/matrix-js-sdk/lib/oidc/discovery.js +23 -36
  399. package/node_modules/matrix-js-sdk/lib/oidc/discovery.js.map +1 -1
  400. package/node_modules/matrix-js-sdk/lib/oidc/error.js +1 -1
  401. package/node_modules/matrix-js-sdk/lib/oidc/error.js.map +1 -1
  402. package/node_modules/matrix-js-sdk/lib/oidc/index.js +1 -0
  403. package/node_modules/matrix-js-sdk/lib/oidc/index.js.map +1 -1
  404. package/node_modules/matrix-js-sdk/lib/oidc/register.js +60 -66
  405. package/node_modules/matrix-js-sdk/lib/oidc/register.js.map +1 -1
  406. package/node_modules/matrix-js-sdk/lib/oidc/tokenRefresher.js +83 -94
  407. package/node_modules/matrix-js-sdk/lib/oidc/tokenRefresher.js.map +1 -1
  408. package/node_modules/matrix-js-sdk/lib/oidc/validate.js +18 -18
  409. package/node_modules/matrix-js-sdk/lib/oidc/validate.js.map +1 -1
  410. package/node_modules/matrix-js-sdk/lib/pushprocessor.js +70 -81
  411. package/node_modules/matrix-js-sdk/lib/pushprocessor.js.map +1 -1
  412. package/node_modules/matrix-js-sdk/lib/randomstring.js +9 -9
  413. package/node_modules/matrix-js-sdk/lib/randomstring.js.map +1 -1
  414. package/node_modules/matrix-js-sdk/lib/realtime-callbacks.js +25 -28
  415. package/node_modules/matrix-js-sdk/lib/realtime-callbacks.js.map +1 -1
  416. package/node_modules/matrix-js-sdk/lib/receipt-accumulator.d.ts +2 -0
  417. package/node_modules/matrix-js-sdk/lib/receipt-accumulator.d.ts.map +1 -1
  418. package/node_modules/matrix-js-sdk/lib/receipt-accumulator.js +14 -22
  419. package/node_modules/matrix-js-sdk/lib/receipt-accumulator.js.map +1 -1
  420. package/node_modules/matrix-js-sdk/lib/rendezvous/MSC4108SignInWithQR.js +272 -298
  421. package/node_modules/matrix-js-sdk/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -1
  422. package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousChannel.js +3 -1
  423. package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousCode.js +3 -1
  424. package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousError.js.map +1 -1
  425. package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousFailureReason.js +2 -2
  426. package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousFailureReason.js.map +1 -1
  427. package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousIntent.js +1 -1
  428. package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousIntent.js.map +1 -1
  429. package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousTransport.js +3 -1
  430. package/node_modules/matrix-js-sdk/lib/rendezvous/channels/MSC4108SecureChannel.js +122 -144
  431. package/node_modules/matrix-js-sdk/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -1
  432. package/node_modules/matrix-js-sdk/lib/rendezvous/index.js +44 -69
  433. package/node_modules/matrix-js-sdk/lib/rendezvous/index.js.map +1 -1
  434. package/node_modules/matrix-js-sdk/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +1 -1
  435. package/node_modules/matrix-js-sdk/lib/rendezvous/transports/MSC4108RendezvousSession.js +142 -152
  436. package/node_modules/matrix-js-sdk/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -1
  437. package/node_modules/matrix-js-sdk/lib/retentionPolicy.d.ts +33 -0
  438. package/node_modules/matrix-js-sdk/lib/retentionPolicy.d.ts.map +1 -0
  439. package/node_modules/matrix-js-sdk/lib/retentionPolicy.js +39 -0
  440. package/node_modules/matrix-js-sdk/lib/retentionPolicy.js.map +1 -0
  441. package/node_modules/matrix-js-sdk/lib/room-hierarchy.js +52 -56
  442. package/node_modules/matrix-js-sdk/lib/room-hierarchy.js.map +1 -1
  443. package/node_modules/matrix-js-sdk/lib/rust-crypto/CrossSigningIdentity.js +94 -104
  444. package/node_modules/matrix-js-sdk/lib/rust-crypto/CrossSigningIdentity.js.map +1 -1
  445. package/node_modules/matrix-js-sdk/lib/rust-crypto/DehydratedDeviceManager.js +158 -190
  446. package/node_modules/matrix-js-sdk/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -1
  447. package/node_modules/matrix-js-sdk/lib/rust-crypto/KeyClaimManager.js +17 -20
  448. package/node_modules/matrix-js-sdk/lib/rust-crypto/KeyClaimManager.js.map +1 -1
  449. package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestProcessor.js +109 -139
  450. package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -1
  451. package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestsManager.js +72 -86
  452. package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -1
  453. package/node_modules/matrix-js-sdk/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +1 -1
  454. package/node_modules/matrix-js-sdk/lib/rust-crypto/PerSessionKeyBackupDownloader.js +195 -221
  455. package/node_modules/matrix-js-sdk/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -1
  456. package/node_modules/matrix-js-sdk/lib/rust-crypto/RoomEncryptor.js +121 -137
  457. package/node_modules/matrix-js-sdk/lib/rust-crypto/RoomEncryptor.js.map +1 -1
  458. package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.d.ts +7 -2
  459. package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.d.ts.map +1 -1
  460. package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.js +459 -544
  461. package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.js.map +1 -1
  462. package/node_modules/matrix-js-sdk/lib/rust-crypto/constants.js +1 -1
  463. package/node_modules/matrix-js-sdk/lib/rust-crypto/constants.js.map +1 -1
  464. package/node_modules/matrix-js-sdk/lib/rust-crypto/device-converter.js +15 -28
  465. package/node_modules/matrix-js-sdk/lib/rust-crypto/device-converter.js.map +1 -1
  466. package/node_modules/matrix-js-sdk/lib/rust-crypto/index.js +103 -116
  467. package/node_modules/matrix-js-sdk/lib/rust-crypto/index.js.map +1 -1
  468. package/node_modules/matrix-js-sdk/lib/rust-crypto/libolm_migration.js +303 -365
  469. package/node_modules/matrix-js-sdk/lib/rust-crypto/libolm_migration.js.map +1 -1
  470. package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.d.ts +5 -1
  471. package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.d.ts.map +1 -1
  472. package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.js +1065 -1322
  473. package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.js.map +1 -1
  474. package/node_modules/matrix-js-sdk/lib/rust-crypto/secret-storage.js +12 -25
  475. package/node_modules/matrix-js-sdk/lib/rust-crypto/secret-storage.js.map +1 -1
  476. package/node_modules/matrix-js-sdk/lib/rust-crypto/verification.js +134 -184
  477. package/node_modules/matrix-js-sdk/lib/rust-crypto/verification.js.map +1 -1
  478. package/node_modules/matrix-js-sdk/lib/scheduler.js +42 -17
  479. package/node_modules/matrix-js-sdk/lib/scheduler.js.map +1 -1
  480. package/node_modules/matrix-js-sdk/lib/secret-storage.js +179 -213
  481. package/node_modules/matrix-js-sdk/lib/secret-storage.js.map +1 -1
  482. package/node_modules/matrix-js-sdk/lib/serverCapabilities.d.ts +4 -23
  483. package/node_modules/matrix-js-sdk/lib/serverCapabilities.d.ts.map +1 -1
  484. package/node_modules/matrix-js-sdk/lib/serverCapabilities.js +9 -62
  485. package/node_modules/matrix-js-sdk/lib/serverCapabilities.js.map +1 -1
  486. package/node_modules/matrix-js-sdk/lib/service-types.js +1 -1
  487. package/node_modules/matrix-js-sdk/lib/service-types.js.map +1 -1
  488. package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.d.ts.map +1 -1
  489. package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js +368 -421
  490. package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js.map +1 -1
  491. package/node_modules/matrix-js-sdk/lib/sliding-sync.js +136 -167
  492. package/node_modules/matrix-js-sdk/lib/sliding-sync.js.map +1 -1
  493. package/node_modules/matrix-js-sdk/lib/store/index.d.ts +7 -0
  494. package/node_modules/matrix-js-sdk/lib/store/index.d.ts.map +1 -1
  495. package/node_modules/matrix-js-sdk/lib/store/index.js +3 -1
  496. package/node_modules/matrix-js-sdk/lib/store/index.js.map +1 -1
  497. package/node_modules/matrix-js-sdk/lib/store/indexeddb-backend.js +3 -1
  498. package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.d.ts +1 -0
  499. package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.d.ts.map +1 -1
  500. package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.js +197 -240
  501. package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.js.map +1 -1
  502. package/node_modules/matrix-js-sdk/lib/store/indexeddb-remote-backend.d.ts +3 -1
  503. package/node_modules/matrix-js-sdk/lib/store/indexeddb-remote-backend.d.ts.map +1 -1
  504. package/node_modules/matrix-js-sdk/lib/store/indexeddb-remote-backend.js +51 -59
  505. package/node_modules/matrix-js-sdk/lib/store/indexeddb-remote-backend.js.map +1 -1
  506. package/node_modules/matrix-js-sdk/lib/store/indexeddb-store-worker.js +22 -22
  507. package/node_modules/matrix-js-sdk/lib/store/indexeddb-store-worker.js.map +1 -1
  508. package/node_modules/matrix-js-sdk/lib/store/indexeddb.d.ts +7 -5
  509. package/node_modules/matrix-js-sdk/lib/store/indexeddb.d.ts.map +1 -1
  510. package/node_modules/matrix-js-sdk/lib/store/indexeddb.js +63 -79
  511. package/node_modules/matrix-js-sdk/lib/store/indexeddb.js.map +1 -1
  512. package/node_modules/matrix-js-sdk/lib/store/local-storage-events-emitter.js +2 -2
  513. package/node_modules/matrix-js-sdk/lib/store/local-storage-events-emitter.js.map +1 -1
  514. package/node_modules/matrix-js-sdk/lib/store/memory.d.ts +1 -0
  515. package/node_modules/matrix-js-sdk/lib/store/memory.d.ts.map +1 -1
  516. package/node_modules/matrix-js-sdk/lib/store/memory.js +38 -54
  517. package/node_modules/matrix-js-sdk/lib/store/memory.js.map +1 -1
  518. package/node_modules/matrix-js-sdk/lib/store/stub.d.ts +1 -0
  519. package/node_modules/matrix-js-sdk/lib/store/stub.d.ts.map +1 -1
  520. package/node_modules/matrix-js-sdk/lib/store/stub.js +22 -32
  521. package/node_modules/matrix-js-sdk/lib/store/stub.js.map +1 -1
  522. package/node_modules/matrix-js-sdk/lib/sync-accumulator.d.ts +1 -0
  523. package/node_modules/matrix-js-sdk/lib/sync-accumulator.d.ts.map +1 -1
  524. package/node_modules/matrix-js-sdk/lib/sync-accumulator.js +57 -65
  525. package/node_modules/matrix-js-sdk/lib/sync-accumulator.js.map +1 -1
  526. package/node_modules/matrix-js-sdk/lib/sync.d.ts.map +1 -1
  527. package/node_modules/matrix-js-sdk/lib/sync.js +914 -991
  528. package/node_modules/matrix-js-sdk/lib/sync.js.map +1 -1
  529. package/node_modules/matrix-js-sdk/lib/testing.js +63 -105
  530. package/node_modules/matrix-js-sdk/lib/testing.js.map +1 -1
  531. package/node_modules/matrix-js-sdk/lib/thread-utils.js +1 -4
  532. package/node_modules/matrix-js-sdk/lib/thread-utils.js.map +1 -1
  533. package/node_modules/matrix-js-sdk/lib/timeline-window.js +90 -99
  534. package/node_modules/matrix-js-sdk/lib/timeline-window.js.map +1 -1
  535. package/node_modules/matrix-js-sdk/lib/types.js +1 -1
  536. package/node_modules/matrix-js-sdk/lib/types.js.map +1 -1
  537. package/node_modules/matrix-js-sdk/lib/utils/decryptAESSecretStorageItem.js +14 -25
  538. package/node_modules/matrix-js-sdk/lib/utils/decryptAESSecretStorageItem.js.map +1 -1
  539. package/node_modules/matrix-js-sdk/lib/utils/encryptAESSecretStorageItem.js +27 -38
  540. package/node_modules/matrix-js-sdk/lib/utils/encryptAESSecretStorageItem.js.map +1 -1
  541. package/node_modules/matrix-js-sdk/lib/utils/internal/deriveKeys.js +25 -32
  542. package/node_modules/matrix-js-sdk/lib/utils/internal/deriveKeys.js.map +1 -1
  543. package/node_modules/matrix-js-sdk/lib/utils/roomVersion.js +1 -1
  544. package/node_modules/matrix-js-sdk/lib/utils/roomVersion.js.map +1 -1
  545. package/node_modules/matrix-js-sdk/lib/utils.js +83 -135
  546. package/node_modules/matrix-js-sdk/lib/utils.js.map +1 -1
  547. package/node_modules/matrix-js-sdk/lib/version-support.js +3 -3
  548. package/node_modules/matrix-js-sdk/lib/version-support.js.map +1 -1
  549. package/node_modules/matrix-js-sdk/lib/webrtc/audioContext.js +5 -6
  550. package/node_modules/matrix-js-sdk/lib/webrtc/audioContext.js.map +1 -1
  551. package/node_modules/matrix-js-sdk/lib/webrtc/call.js +1123 -1256
  552. package/node_modules/matrix-js-sdk/lib/webrtc/call.js.map +1 -1
  553. package/node_modules/matrix-js-sdk/lib/webrtc/callEventHandler.js +207 -214
  554. package/node_modules/matrix-js-sdk/lib/webrtc/callEventHandler.js.map +1 -1
  555. package/node_modules/matrix-js-sdk/lib/webrtc/callEventTypes.js +2 -2
  556. package/node_modules/matrix-js-sdk/lib/webrtc/callEventTypes.js.map +1 -1
  557. package/node_modules/matrix-js-sdk/lib/webrtc/callFeed.js +33 -20
  558. package/node_modules/matrix-js-sdk/lib/webrtc/callFeed.js.map +1 -1
  559. package/node_modules/matrix-js-sdk/lib/webrtc/groupCall.js +521 -594
  560. package/node_modules/matrix-js-sdk/lib/webrtc/groupCall.js.map +1 -1
  561. package/node_modules/matrix-js-sdk/lib/webrtc/groupCallEventHandler.js +58 -61
  562. package/node_modules/matrix-js-sdk/lib/webrtc/groupCallEventHandler.js.map +1 -1
  563. package/node_modules/matrix-js-sdk/lib/webrtc/mediaHandler.js +203 -233
  564. package/node_modules/matrix-js-sdk/lib/webrtc/mediaHandler.js.map +1 -1
  565. package/node_modules/matrix-js-sdk/lib/webrtc/stats/callFeedStatsReporter.js +16 -20
  566. package/node_modules/matrix-js-sdk/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -1
  567. package/node_modules/matrix-js-sdk/lib/webrtc/stats/callStatsReportGatherer.js +65 -70
  568. package/node_modules/matrix-js-sdk/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -1
  569. package/node_modules/matrix-js-sdk/lib/webrtc/stats/callStatsReportSummary.js +3 -1
  570. package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStats.js.map +1 -1
  571. package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStatsBuilder.js +2 -2
  572. package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -1
  573. package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStatsReportBuilder.js +20 -24
  574. package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -1
  575. package/node_modules/matrix-js-sdk/lib/webrtc/stats/groupCallStats.js +4 -5
  576. package/node_modules/matrix-js-sdk/lib/webrtc/stats/groupCallStats.js.map +1 -1
  577. package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaSsrcHandler.js +7 -8
  578. package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -1
  579. package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackHandler.js +7 -9
  580. package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -1
  581. package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -1
  582. package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackStatsHandler.js +6 -6
  583. package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -1
  584. package/node_modules/matrix-js-sdk/lib/webrtc/stats/statsReport.js +1 -1
  585. package/node_modules/matrix-js-sdk/lib/webrtc/stats/statsReport.js.map +1 -1
  586. package/node_modules/matrix-js-sdk/lib/webrtc/stats/statsReportEmitter.js.map +1 -1
  587. package/node_modules/matrix-js-sdk/lib/webrtc/stats/summaryStatsReportGatherer.js +14 -14
  588. package/node_modules/matrix-js-sdk/lib/webrtc/stats/summaryStatsReportGatherer.js.map +1 -1
  589. package/node_modules/matrix-js-sdk/lib/webrtc/stats/trackStatsBuilder.js +32 -34
  590. package/node_modules/matrix-js-sdk/lib/webrtc/stats/trackStatsBuilder.js.map +1 -1
  591. package/node_modules/matrix-js-sdk/lib/webrtc/stats/transportStats.js +3 -1
  592. package/node_modules/matrix-js-sdk/lib/webrtc/stats/transportStatsBuilder.js +9 -9
  593. package/node_modules/matrix-js-sdk/lib/webrtc/stats/transportStatsBuilder.js.map +1 -1
  594. package/node_modules/matrix-js-sdk/lib/webrtc/stats/valueFormatter.js +1 -1
  595. package/node_modules/matrix-js-sdk/lib/webrtc/stats/valueFormatter.js.map +1 -1
  596. package/node_modules/matrix-js-sdk/package.json +110 -138
  597. package/node_modules/matrix-js-sdk/src/@types/event.ts +9 -0
  598. package/node_modules/matrix-js-sdk/src/@types/global.d.ts +2 -2
  599. package/node_modules/matrix-js-sdk/src/@types/retention.ts +16 -0
  600. package/node_modules/matrix-js-sdk/src/ToDeviceMessageQueue.ts +2 -2
  601. package/node_modules/matrix-js-sdk/src/browser-index.ts +4 -4
  602. package/node_modules/matrix-js-sdk/src/capabilityPoller.ts +102 -0
  603. package/node_modules/matrix-js-sdk/src/client.ts +37 -25
  604. package/node_modules/matrix-js-sdk/src/crypto-api/index.ts +17 -6
  605. package/node_modules/matrix-js-sdk/src/embedded.ts +4 -6
  606. package/node_modules/matrix-js-sdk/src/filter-component.ts +1 -0
  607. package/node_modules/matrix-js-sdk/src/http-api/utils.ts +5 -10
  608. package/node_modules/matrix-js-sdk/src/interactive-auth.ts +11 -5
  609. package/node_modules/matrix-js-sdk/src/matrix.ts +1 -0
  610. package/node_modules/matrix-js-sdk/src/matrixrtc/LivekitTransport.ts +1 -1
  611. package/node_modules/matrix-js-sdk/src/matrixrtc/MatrixRTCSession.ts +5 -4
  612. package/node_modules/matrix-js-sdk/src/matrixrtc/MembershipManager.ts +2 -0
  613. package/node_modules/matrix-js-sdk/src/matrixrtc/MembershipManagerActionScheduler.ts +4 -1
  614. package/node_modules/matrix-js-sdk/src/models/MSC3089Branch.ts +1 -1
  615. package/node_modules/matrix-js-sdk/src/models/room-retention.ts +230 -0
  616. package/node_modules/matrix-js-sdk/src/models/room-sticky-events.ts +1 -0
  617. package/node_modules/matrix-js-sdk/src/models/room.ts +26 -12
  618. package/node_modules/matrix-js-sdk/src/receipt-accumulator.ts +2 -0
  619. package/node_modules/matrix-js-sdk/src/rendezvous/index.ts +1 -1
  620. package/node_modules/matrix-js-sdk/src/rendezvous/transports/MSC4108RendezvousSession.ts +2 -2
  621. package/node_modules/matrix-js-sdk/src/retentionPolicy.ts +65 -0
  622. package/node_modules/matrix-js-sdk/src/rust-crypto/PerSessionKeyBackupDownloader.ts +1 -1
  623. package/node_modules/matrix-js-sdk/src/rust-crypto/backup.ts +15 -4
  624. package/node_modules/matrix-js-sdk/src/rust-crypto/index.ts +6 -6
  625. package/node_modules/matrix-js-sdk/src/rust-crypto/rust-crypto.ts +31 -7
  626. package/node_modules/matrix-js-sdk/src/rust-crypto/verification.ts +1 -1
  627. package/node_modules/matrix-js-sdk/src/serverCapabilities.ts +8 -67
  628. package/node_modules/matrix-js-sdk/src/sliding-sync-sdk.ts +5 -7
  629. package/node_modules/matrix-js-sdk/src/store/index.ts +8 -0
  630. package/node_modules/matrix-js-sdk/src/store/indexeddb-local-backend.ts +12 -2
  631. package/node_modules/matrix-js-sdk/src/store/indexeddb-remote-backend.ts +24 -5
  632. package/node_modules/matrix-js-sdk/src/store/indexeddb.ts +20 -8
  633. package/node_modules/matrix-js-sdk/src/store/memory.ts +4 -0
  634. package/node_modules/matrix-js-sdk/src/store/stub.ts +3 -0
  635. package/node_modules/matrix-js-sdk/src/sync-accumulator.ts +9 -0
  636. package/node_modules/matrix-js-sdk/src/sync.ts +11 -9
  637. package/node_modules/media-typer/README.md +19 -33
  638. package/node_modules/media-typer/dist/index.d.ts +29 -0
  639. package/node_modules/media-typer/dist/index.js +64 -0
  640. package/node_modules/media-typer/dist/index.js.map +1 -0
  641. package/node_modules/media-typer/package.json +37 -22
  642. package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.js +2 -2
  643. package/node_modules/music-metadata/lib/mp4/AtomToken.js +65 -13
  644. package/node_modules/music-metadata/lib/wav/WaveChunk.d.ts +10 -0
  645. package/node_modules/music-metadata/lib/wav/WaveChunk.js +13 -3
  646. package/node_modules/music-metadata/lib/wav/WaveParser.d.ts +1 -0
  647. package/node_modules/music-metadata/lib/wav/WaveParser.js +6 -5
  648. package/node_modules/music-metadata/package.json +5 -5
  649. package/node_modules/typebox/build/compile/validator.d.mts +2 -7
  650. package/node_modules/typebox/build/compile/validator.mjs +6 -36
  651. package/node_modules/typebox/build/error/errors.d.mts +1 -7
  652. package/node_modules/typebox/build/format/_idna.mjs +36 -6
  653. package/node_modules/typebox/build/format/_puny.mjs +4 -1
  654. package/node_modules/typebox/build/format/uuid.d.mts +2 -2
  655. package/node_modules/typebox/build/format/uuid.mjs +3 -3
  656. package/node_modules/typebox/build/guard/emit.d.mts +0 -4
  657. package/node_modules/typebox/build/guard/emit.mjs +0 -8
  658. package/node_modules/typebox/build/guard/guard.d.mts +4 -8
  659. package/node_modules/typebox/build/guard/guard.mjs +5 -13
  660. package/node_modules/typebox/build/schema/engine/boolean.d.mts +3 -3
  661. package/node_modules/typebox/build/schema/engine/boolean.mjs +4 -4
  662. package/node_modules/typebox/build/schema/engine/index.d.mts +0 -1
  663. package/node_modules/typebox/build/schema/engine/index.mjs +0 -1
  664. package/node_modules/typebox/build/schema/engine/schema.mjs +5 -10
  665. package/node_modules/typebox/build/schema/engine/type.mjs +14 -18
  666. package/node_modules/typebox/build/schema/types/dependencies.mjs +1 -1
  667. package/node_modules/typebox/build/schema/types/index.d.mts +0 -1
  668. package/node_modules/typebox/build/schema/types/index.mjs +0 -1
  669. package/node_modules/typebox/build/schema/types/schema.d.mts +1 -1
  670. package/node_modules/typebox/build/schema/types/schema.mjs +2 -2
  671. package/node_modules/typebox/build/system/locale/ar_001.mjs +0 -1
  672. package/node_modules/typebox/build/system/locale/bn_BD.mjs +0 -1
  673. package/node_modules/typebox/build/system/locale/cs_CZ.mjs +0 -1
  674. package/node_modules/typebox/build/system/locale/de_DE.mjs +0 -1
  675. package/node_modules/typebox/build/system/locale/el_GR.mjs +0 -1
  676. package/node_modules/typebox/build/system/locale/en_US.mjs +0 -1
  677. package/node_modules/typebox/build/system/locale/es_419.mjs +0 -1
  678. package/node_modules/typebox/build/system/locale/es_AR.mjs +0 -1
  679. package/node_modules/typebox/build/system/locale/es_ES.mjs +0 -1
  680. package/node_modules/typebox/build/system/locale/es_MX.mjs +0 -1
  681. package/node_modules/typebox/build/system/locale/fa_IR.mjs +0 -1
  682. package/node_modules/typebox/build/system/locale/fil_PH.mjs +0 -1
  683. package/node_modules/typebox/build/system/locale/fr_CA.mjs +0 -1
  684. package/node_modules/typebox/build/system/locale/fr_FR.mjs +0 -1
  685. package/node_modules/typebox/build/system/locale/ha_NG.mjs +0 -1
  686. package/node_modules/typebox/build/system/locale/hi_IN.mjs +0 -1
  687. package/node_modules/typebox/build/system/locale/hu_HU.mjs +0 -1
  688. package/node_modules/typebox/build/system/locale/id_ID.mjs +0 -1
  689. package/node_modules/typebox/build/system/locale/it_IT.mjs +0 -1
  690. package/node_modules/typebox/build/system/locale/ja_JP.mjs +0 -1
  691. package/node_modules/typebox/build/system/locale/ko_KR.mjs +0 -1
  692. package/node_modules/typebox/build/system/locale/ms_MY.mjs +0 -1
  693. package/node_modules/typebox/build/system/locale/nl_NL.mjs +0 -1
  694. package/node_modules/typebox/build/system/locale/pl_PL.mjs +0 -1
  695. package/node_modules/typebox/build/system/locale/pt_BR.mjs +0 -1
  696. package/node_modules/typebox/build/system/locale/pt_PT.mjs +0 -1
  697. package/node_modules/typebox/build/system/locale/ro_RO.mjs +0 -1
  698. package/node_modules/typebox/build/system/locale/ru_RU.mjs +0 -1
  699. package/node_modules/typebox/build/system/locale/sv_SE.mjs +0 -1
  700. package/node_modules/typebox/build/system/locale/sw_TZ.mjs +0 -1
  701. package/node_modules/typebox/build/system/locale/th_TH.mjs +0 -1
  702. package/node_modules/typebox/build/system/locale/tr_TR.mjs +0 -1
  703. package/node_modules/typebox/build/system/locale/uk_UA.mjs +0 -1
  704. package/node_modules/typebox/build/system/locale/ur_PK.mjs +0 -1
  705. package/node_modules/typebox/build/system/locale/vi_VN.mjs +0 -1
  706. package/node_modules/typebox/build/system/locale/yo_NG.mjs +0 -1
  707. package/node_modules/typebox/build/system/locale/zh_Hans.mjs +0 -1
  708. package/node_modules/typebox/build/system/locale/zh_Hant.mjs +0 -1
  709. package/node_modules/typebox/build/system/memory/clone.d.mts +2 -3
  710. package/node_modules/typebox/build/system/memory/clone.mjs +73 -26
  711. package/node_modules/typebox/build/system/settings/settings.d.mts +15 -0
  712. package/node_modules/typebox/build/system/settings/settings.mjs +3 -1
  713. package/node_modules/typebox/build/type/action/_add_immutable.d.mts +11 -0
  714. package/node_modules/typebox/build/type/action/_add_immutable.mjs +11 -0
  715. package/node_modules/typebox/build/type/action/_add_optional.d.mts +11 -0
  716. package/node_modules/typebox/build/type/action/_add_optional.mjs +11 -0
  717. package/node_modules/typebox/build/type/action/_add_readonly.d.mts +11 -0
  718. package/node_modules/typebox/build/type/action/_add_readonly.mjs +11 -0
  719. package/node_modules/typebox/build/type/action/_remove_immutable.d.mts +11 -0
  720. package/node_modules/typebox/build/type/action/_remove_immutable.mjs +11 -0
  721. package/node_modules/typebox/build/type/action/_remove_optional.d.mts +11 -0
  722. package/node_modules/typebox/build/type/action/_remove_optional.mjs +11 -0
  723. package/node_modules/typebox/build/type/action/_remove_readonly.d.mts +11 -0
  724. package/node_modules/typebox/build/type/action/_remove_readonly.mjs +11 -0
  725. package/node_modules/typebox/build/type/action/conditional.d.mts +2 -3
  726. package/node_modules/typebox/build/type/action/conditional.mjs +2 -1
  727. package/node_modules/typebox/build/type/action/index.d.mts +7 -4
  728. package/node_modules/typebox/build/type/action/index.mjs +7 -4
  729. package/node_modules/typebox/build/type/action/mapped.d.mts +2 -3
  730. package/node_modules/typebox/build/type/action/mapped.mjs +2 -1
  731. package/node_modules/typebox/build/type/action/module.d.mts +8 -7
  732. package/node_modules/typebox/build/type/action/module.mjs +7 -6
  733. package/node_modules/typebox/build/type/action/readonly_object.d.mts +0 -5
  734. package/node_modules/typebox/build/type/action/readonly_object.mjs +0 -5
  735. package/node_modules/typebox/build/type/action/with.d.mts +11 -0
  736. package/node_modules/typebox/build/type/action/with.mjs +11 -0
  737. package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +1 -1
  738. package/node_modules/typebox/build/type/engine/call/instantiate.d.mts +1 -3
  739. package/node_modules/typebox/build/type/engine/call/instantiate.mjs +3 -2
  740. package/node_modules/typebox/build/type/engine/call/resolve_arguments.mjs +2 -2
  741. package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.d.mts +3 -4
  742. package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.mjs +2 -1
  743. package/node_modules/typebox/build/type/engine/cyclic/candidates.d.mts +2 -3
  744. package/node_modules/typebox/build/type/engine/cyclic/candidates.mjs +3 -6
  745. package/node_modules/typebox/build/type/engine/cyclic/check.d.mts +6 -9
  746. package/node_modules/typebox/build/type/engine/cyclic/check.mjs +10 -16
  747. package/node_modules/typebox/build/type/engine/cyclic/dependencies.d.mts +1 -4
  748. package/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs +9 -15
  749. package/node_modules/typebox/build/type/engine/cyclic/extends.d.mts +1 -4
  750. package/node_modules/typebox/build/type/engine/cyclic/extends.mjs +8 -14
  751. package/node_modules/typebox/build/type/engine/cyclic/instantiate.d.mts +2 -5
  752. package/node_modules/typebox/build/type/engine/cyclic/instantiate.mjs +3 -2
  753. package/node_modules/typebox/build/type/engine/enum/index.d.mts +0 -1
  754. package/node_modules/typebox/build/type/engine/enum/index.mjs +0 -1
  755. package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +1 -2
  756. package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +2 -6
  757. package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +10 -6
  758. package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +10 -6
  759. package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +2 -1
  760. package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +3 -3
  761. package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +17 -5
  762. package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +34 -8
  763. package/node_modules/typebox/build/type/engine/exclude/operation.d.mts +5 -6
  764. package/node_modules/typebox/build/type/engine/exclude/operation.mjs +11 -12
  765. package/node_modules/typebox/build/type/engine/extract/operation.d.mts +5 -6
  766. package/node_modules/typebox/build/type/engine/extract/operation.mjs +11 -12
  767. package/node_modules/typebox/build/type/engine/immutable/instantiate_add.d.mts +10 -0
  768. package/node_modules/typebox/build/type/engine/immutable/instantiate_add.mjs +14 -0
  769. package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.d.mts +10 -0
  770. package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.mjs +14 -0
  771. package/node_modules/typebox/build/type/engine/index.d.mts +2 -2
  772. package/node_modules/typebox/build/type/engine/index.mjs +2 -2
  773. package/node_modules/typebox/build/type/engine/indexable/from_dependent.d.mts +5 -0
  774. package/node_modules/typebox/build/type/engine/indexable/from_dependent.mjs +8 -0
  775. package/node_modules/typebox/build/type/engine/indexable/from_enum.d.mts +3 -3
  776. package/node_modules/typebox/build/type/engine/indexable/from_enum.mjs +4 -4
  777. package/node_modules/typebox/build/type/engine/indexable/from_template_literal.d.mts +2 -2
  778. package/node_modules/typebox/build/type/engine/indexable/from_template_literal.mjs +3 -3
  779. package/node_modules/typebox/build/type/engine/indexable/from_type.d.mts +3 -1
  780. package/node_modules/typebox/build/type/engine/indexable/from_type.mjs +9 -6
  781. package/node_modules/typebox/build/type/engine/indexed/instantiate.d.mts +2 -1
  782. package/node_modules/typebox/build/type/engine/indexed/instantiate.mjs +5 -2
  783. package/node_modules/typebox/build/type/engine/instantiate.d.mts +44 -31
  784. package/node_modules/typebox/build/type/engine/instantiate.mjs +82 -83
  785. package/node_modules/typebox/build/type/engine/interface/instantiate.d.mts +3 -6
  786. package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.d.mts +2 -2
  787. package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.mjs +3 -3
  788. package/node_modules/typebox/build/type/engine/keyof/instantiate.d.mts +2 -1
  789. package/node_modules/typebox/build/type/engine/keyof/instantiate.mjs +5 -1
  790. package/node_modules/typebox/build/type/engine/mapped/mapped_operation.d.mts +4 -4
  791. package/node_modules/typebox/build/type/engine/mapped/mapped_operation.mjs +3 -3
  792. package/node_modules/typebox/build/type/engine/mapped/mapped_variants.d.mts +5 -4
  793. package/node_modules/typebox/build/type/engine/mapped/mapped_variants.mjs +10 -5
  794. package/node_modules/typebox/build/type/engine/module/instantiate.d.mts +7 -9
  795. package/node_modules/typebox/build/type/engine/module/instantiate.mjs +17 -15
  796. package/node_modules/typebox/build/type/engine/object/from_dependent.d.mts +5 -0
  797. package/node_modules/typebox/build/type/engine/object/from_dependent.mjs +8 -0
  798. package/node_modules/typebox/build/type/engine/object/from_type.d.mts +3 -1
  799. package/node_modules/typebox/build/type/engine/object/from_type.mjs +8 -5
  800. package/node_modules/typebox/build/type/engine/object/from_union.mjs +2 -2
  801. package/node_modules/typebox/build/type/engine/optional/instantiate_add.d.mts +10 -0
  802. package/node_modules/typebox/build/type/engine/optional/instantiate_add.mjs +14 -0
  803. package/node_modules/typebox/build/type/engine/optional/instantiate_remove.d.mts +10 -0
  804. package/node_modules/typebox/build/type/engine/optional/instantiate_remove.mjs +14 -0
  805. package/node_modules/typebox/build/type/engine/parameters/instantiate.d.mts +3 -4
  806. package/node_modules/typebox/build/type/engine/parameters/instantiate.mjs +2 -1
  807. package/node_modules/typebox/build/type/engine/partial/from_dependent.d.mts +5 -0
  808. package/node_modules/typebox/build/type/engine/partial/from_dependent.mjs +8 -0
  809. package/node_modules/typebox/build/type/engine/partial/from_intersect.d.mts +1 -1
  810. package/node_modules/typebox/build/type/engine/partial/from_intersect.mjs +3 -2
  811. package/node_modules/typebox/build/type/engine/partial/from_object.d.mts +2 -2
  812. package/node_modules/typebox/build/type/engine/partial/from_object.mjs +2 -2
  813. package/node_modules/typebox/build/type/engine/partial/from_type.d.mts +3 -1
  814. package/node_modules/typebox/build/type/engine/partial/from_type.mjs +7 -4
  815. package/node_modules/typebox/build/type/engine/priority/index.d.mts +1 -0
  816. package/node_modules/typebox/build/type/engine/priority/index.mjs +1 -0
  817. package/node_modules/typebox/build/type/engine/priority/priority.d.mts +20 -0
  818. package/node_modules/typebox/build/type/engine/priority/priority.mjs +28 -0
  819. package/node_modules/typebox/build/type/engine/readonly/instantiate_add.d.mts +10 -0
  820. package/node_modules/typebox/build/type/engine/readonly/instantiate_add.mjs +14 -0
  821. package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.d.mts +10 -0
  822. package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.mjs +14 -0
  823. package/node_modules/typebox/build/type/engine/readonly_object/from_array.d.mts +2 -2
  824. package/node_modules/typebox/build/type/engine/readonly_object/from_array.mjs +2 -2
  825. package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.d.mts +5 -0
  826. package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.mjs +8 -0
  827. package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.d.mts +1 -1
  828. package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.mjs +3 -2
  829. package/node_modules/typebox/build/type/engine/readonly_object/from_object.d.mts +2 -2
  830. package/node_modules/typebox/build/type/engine/readonly_object/from_object.mjs +2 -2
  831. package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.d.mts +2 -2
  832. package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.mjs +2 -2
  833. package/node_modules/typebox/build/type/engine/readonly_object/from_type.d.mts +3 -1
  834. package/node_modules/typebox/build/type/engine/readonly_object/from_type.mjs +8 -5
  835. package/node_modules/typebox/build/type/engine/record/from_key_enum.d.mts +2 -2
  836. package/node_modules/typebox/build/type/engine/record/from_key_enum.mjs +2 -2
  837. package/node_modules/typebox/build/type/engine/record/from_key_template_literal.d.mts +2 -2
  838. package/node_modules/typebox/build/type/engine/record/from_key_template_literal.mjs +2 -2
  839. package/node_modules/typebox/build/type/engine/ref/instantiate.d.mts +3 -3
  840. package/node_modules/typebox/build/type/engine/ref/instantiate.mjs +6 -6
  841. package/node_modules/typebox/build/type/engine/required/from_dependent.d.mts +5 -0
  842. package/node_modules/typebox/build/type/engine/required/from_dependent.mjs +8 -0
  843. package/node_modules/typebox/build/type/engine/required/from_intersect.d.mts +1 -1
  844. package/node_modules/typebox/build/type/engine/required/from_intersect.mjs +3 -2
  845. package/node_modules/typebox/build/type/engine/required/from_object.d.mts +2 -2
  846. package/node_modules/typebox/build/type/engine/required/from_object.mjs +2 -2
  847. package/node_modules/typebox/build/type/engine/required/from_type.d.mts +3 -1
  848. package/node_modules/typebox/build/type/engine/required/from_type.mjs +7 -4
  849. package/node_modules/typebox/build/type/engine/template_literal/decode.mjs +3 -3
  850. package/node_modules/typebox/build/type/engine/template_literal/encode.d.mts +2 -2
  851. package/node_modules/typebox/build/type/engine/template_literal/encode.mjs +6 -6
  852. package/node_modules/typebox/build/type/engine/template_literal/is_finite.mjs +1 -1
  853. package/node_modules/typebox/build/type/engine/template_literal/is_pattern.mjs +1 -0
  854. package/node_modules/typebox/build/type/engine/this/expand_this.d.mts +1 -4
  855. package/node_modules/typebox/build/type/engine/this/expand_this.mjs +7 -13
  856. package/node_modules/typebox/build/type/engine/with/instantiate.d.mts +8 -0
  857. package/node_modules/typebox/build/type/engine/{options → with}/instantiate.mjs +5 -5
  858. package/node_modules/typebox/build/type/extends/dependent.d.mts +6 -0
  859. package/node_modules/typebox/build/type/extends/dependent.mjs +6 -0
  860. package/node_modules/typebox/build/type/extends/enum.d.mts +4 -4
  861. package/node_modules/typebox/build/type/extends/enum.mjs +3 -2
  862. package/node_modules/typebox/build/type/extends/extends_left.d.mts +5 -7
  863. package/node_modules/typebox/build/type/extends/extends_left.mjs +24 -27
  864. package/node_modules/typebox/build/type/extends/extends_right.d.mts +7 -5
  865. package/node_modules/typebox/build/type/extends/extends_right.mjs +20 -15
  866. package/node_modules/typebox/build/type/extends/inference.mjs +1 -1
  867. package/node_modules/typebox/build/type/extends/object.d.mts +8 -1
  868. package/node_modules/typebox/build/type/extends/object.mjs +25 -3
  869. package/node_modules/typebox/build/type/extends/parameters.mjs +2 -2
  870. package/node_modules/typebox/build/type/extends/record.d.mts +13 -0
  871. package/node_modules/typebox/build/type/extends/record.mjs +23 -0
  872. package/node_modules/typebox/build/type/extends/template_literal.d.mts +3 -3
  873. package/node_modules/typebox/build/type/extends/template_literal.mjs +3 -3
  874. package/node_modules/typebox/build/type/extends/tuple.d.mts +3 -6
  875. package/node_modules/typebox/build/type/extends/tuple.mjs +6 -5
  876. package/node_modules/typebox/build/type/extends/union.mjs +2 -2
  877. package/node_modules/typebox/build/type/script/mapping.d.mts +84 -99
  878. package/node_modules/typebox/build/type/script/mapping.mjs +81 -85
  879. package/node_modules/typebox/build/type/script/parser.d.mts +40 -40
  880. package/node_modules/typebox/build/type/script/parser.mjs +22 -22
  881. package/node_modules/typebox/build/type/script/script.d.mts +3 -4
  882. package/node_modules/typebox/build/type/script/script.mjs +3 -2
  883. package/node_modules/typebox/build/type/script/token/internal/guard.d.mts +1 -1
  884. package/node_modules/typebox/build/type/script/token/internal/guard.mjs +1 -1
  885. package/node_modules/typebox/build/type/script/token/internal/take.mjs +1 -1
  886. package/node_modules/typebox/build/type/script/token/until.mjs +2 -2
  887. package/node_modules/typebox/build/type/types/_codec.d.mts +12 -12
  888. package/node_modules/typebox/build/type/types/_codec.mjs +0 -1
  889. package/node_modules/typebox/build/type/types/_immutable.d.mts +2 -9
  890. package/node_modules/typebox/build/type/types/_immutable.mjs +2 -10
  891. package/node_modules/typebox/build/type/types/_optional.d.mts +2 -9
  892. package/node_modules/typebox/build/type/types/_optional.mjs +2 -11
  893. package/node_modules/typebox/build/type/types/_readonly.d.mts +2 -9
  894. package/node_modules/typebox/build/type/types/_readonly.mjs +2 -10
  895. package/node_modules/typebox/build/type/types/_refine.d.mts +8 -10
  896. package/node_modules/typebox/build/type/types/_refine.mjs +1 -2
  897. package/node_modules/typebox/build/type/types/call.d.mts +3 -3
  898. package/node_modules/typebox/build/type/types/call.mjs +3 -2
  899. package/node_modules/typebox/build/type/types/deferred.d.mts +1 -0
  900. package/node_modules/typebox/build/type/types/deferred.mjs +1 -1
  901. package/node_modules/typebox/build/type/types/dependent.d.mts +17 -0
  902. package/node_modules/typebox/build/type/types/dependent.mjs +24 -0
  903. package/node_modules/typebox/build/type/types/enum.d.mts +3 -1
  904. package/node_modules/typebox/build/type/types/enum.mjs +5 -0
  905. package/node_modules/typebox/build/type/types/index.d.mts +1 -4
  906. package/node_modules/typebox/build/type/types/index.mjs +1 -4
  907. package/node_modules/typebox/build/type/types/number.d.mts +1 -1
  908. package/node_modules/typebox/build/type/types/number.mjs +1 -1
  909. package/node_modules/typebox/build/type/types/record.d.mts +13 -7
  910. package/node_modules/typebox/build/type/types/record.mjs +15 -9
  911. package/node_modules/typebox/build/type/types/static.d.mts +2 -5
  912. package/node_modules/typebox/build/typebox.d.mts +4 -8
  913. package/node_modules/typebox/build/typebox.mjs +4 -8
  914. package/node_modules/typebox/build/value/clean/clean.mjs +4 -2
  915. package/node_modules/typebox/build/value/clean/from_intersect.mjs +2 -2
  916. package/node_modules/typebox/build/value/clean/from_type.mjs +8 -10
  917. package/node_modules/typebox/build/value/clean/from_union.d.mts +1 -1
  918. package/node_modules/typebox/build/value/clean/from_union.mjs +1 -2
  919. package/node_modules/typebox/build/value/clone/clone.mjs +2 -73
  920. package/node_modules/typebox/build/value/codec/decode.mjs +4 -2
  921. package/node_modules/typebox/build/value/codec/encode.mjs +4 -2
  922. package/node_modules/typebox/build/value/codec/from_array.mjs +1 -4
  923. package/node_modules/typebox/build/value/codec/from_object.mjs +1 -4
  924. package/node_modules/typebox/build/value/codec/from_record.mjs +2 -7
  925. package/node_modules/typebox/build/value/codec/from_tuple.mjs +1 -4
  926. package/node_modules/typebox/build/value/codec/from_union.mjs +2 -3
  927. package/node_modules/typebox/build/value/convert/from_enum.mjs +3 -4
  928. package/node_modules/typebox/build/value/convert/from_template_literal.d.mts +1 -1
  929. package/node_modules/typebox/build/value/convert/from_template_literal.mjs +2 -3
  930. package/node_modules/typebox/build/value/convert/from_type.mjs +19 -21
  931. package/node_modules/typebox/build/value/create/from_enum.mjs +2 -2
  932. package/node_modules/typebox/build/value/create/from_type.mjs +23 -31
  933. package/node_modules/typebox/build/value/default/from_object.mjs +1 -1
  934. package/node_modules/typebox/build/value/default/from_type.mjs +8 -10
  935. package/node_modules/typebox/build/value/index.d.mts +0 -1
  936. package/node_modules/typebox/build/value/index.mjs +0 -1
  937. package/node_modules/typebox/build/value/repair/from_enum.mjs +2 -3
  938. package/node_modules/typebox/build/value/repair/from_type.mjs +24 -22
  939. package/node_modules/typebox/build/value/shared/union_priority_sort.d.mts +6 -2
  940. package/node_modules/typebox/build/value/shared/union_priority_sort.mjs +62 -26
  941. package/node_modules/typebox/build/value/value.d.mts +0 -1
  942. package/node_modules/typebox/build/value/value.mjs +0 -1
  943. package/node_modules/typebox/package.json +25 -25
  944. package/node_modules/typebox/readme.md +97 -80
  945. package/npm-shrinkwrap.json +59 -54
  946. package/package.json +10 -10
  947. package/dist/probe.runtime-DFt7PIoE.js +0 -3
  948. package/node_modules/@babel/runtime/helpers/AwaitValue.js +0 -4
  949. package/node_modules/@babel/runtime/helpers/applyDecs.js +0 -236
  950. package/node_modules/@babel/runtime/helpers/applyDecs2203.js +0 -184
  951. package/node_modules/@babel/runtime/helpers/applyDecs2203R.js +0 -191
  952. package/node_modules/@babel/runtime/helpers/applyDecs2301.js +0 -222
  953. package/node_modules/@babel/runtime/helpers/applyDecs2305.js +0 -133
  954. package/node_modules/@babel/runtime/helpers/classApplyDescriptorDestructureSet.js +0 -10
  955. package/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js +0 -4
  956. package/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js +0 -7
  957. package/node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js +0 -5
  958. package/node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js +0 -4
  959. package/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js +0 -5
  960. package/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js +0 -7
  961. package/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js +0 -7
  962. package/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js +0 -7
  963. package/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js +0 -5
  964. package/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js +0 -4
  965. package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldDestructureSet.js +0 -7
  966. package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js +0 -7
  967. package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js +0 -7
  968. package/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js +0 -4
  969. package/node_modules/@babel/runtime/helpers/decorate.js +0 -250
  970. package/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js +0 -12
  971. package/node_modules/@babel/runtime/helpers/dispose.js +0 -28
  972. package/node_modules/@babel/runtime/helpers/esm/AwaitValue.js +0 -4
  973. package/node_modules/@babel/runtime/helpers/esm/applyDecs.js +0 -236
  974. package/node_modules/@babel/runtime/helpers/esm/applyDecs2203.js +0 -184
  975. package/node_modules/@babel/runtime/helpers/esm/applyDecs2203R.js +0 -191
  976. package/node_modules/@babel/runtime/helpers/esm/applyDecs2301.js +0 -222
  977. package/node_modules/@babel/runtime/helpers/esm/applyDecs2305.js +0 -133
  978. package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorDestructureSet.js +0 -10
  979. package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js +0 -4
  980. package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js +0 -7
  981. package/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js +0 -5
  982. package/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticFieldDescriptor.js +0 -4
  983. package/node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js +0 -5
  984. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js +0 -7
  985. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js +0 -7
  986. package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js +0 -7
  987. package/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js +0 -5
  988. package/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js +0 -4
  989. package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldDestructureSet.js +0 -7
  990. package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js +0 -7
  991. package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js +0 -7
  992. package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js +0 -4
  993. package/node_modules/@babel/runtime/helpers/esm/decorate.js +0 -250
  994. package/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js +0 -12
  995. package/node_modules/@babel/runtime/helpers/esm/dispose.js +0 -28
  996. package/node_modules/@babel/runtime/helpers/esm/objectSpread.js +0 -14
  997. package/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js +0 -77
  998. package/node_modules/@babel/runtime/helpers/esm/using.js +0 -12
  999. package/node_modules/@babel/runtime/helpers/objectSpread.js +0 -14
  1000. package/node_modules/@babel/runtime/helpers/regeneratorRuntime.js +0 -77
  1001. package/node_modules/@babel/runtime/helpers/using.js +0 -12
  1002. package/node_modules/@babel/runtime/regenerator/index.js +0 -15
  1003. package/node_modules/content-type/HISTORY.md +0 -29
  1004. package/node_modules/content-type/index.js +0 -225
  1005. package/node_modules/media-typer/HISTORY.md +0 -50
  1006. package/node_modules/media-typer/index.js +0 -143
  1007. package/node_modules/typebox/build/schema/engine/_guard.d.mts +0 -6
  1008. package/node_modules/typebox/build/schema/engine/_guard.mjs +0 -26
  1009. package/node_modules/typebox/build/schema/types/_guard.d.mts +0 -10
  1010. package/node_modules/typebox/build/schema/types/_guard.mjs +0 -16
  1011. package/node_modules/typebox/build/type/action/_optional.d.mts +0 -19
  1012. package/node_modules/typebox/build/type/action/_optional.mjs +0 -40
  1013. package/node_modules/typebox/build/type/action/_readonly.d.mts +0 -19
  1014. package/node_modules/typebox/build/type/action/_readonly.mjs +0 -40
  1015. package/node_modules/typebox/build/type/action/awaited.d.mts +0 -15
  1016. package/node_modules/typebox/build/type/action/awaited.mjs +0 -15
  1017. package/node_modules/typebox/build/type/action/options.d.mts +0 -11
  1018. package/node_modules/typebox/build/type/action/options.mjs +0 -11
  1019. package/node_modules/typebox/build/type/engine/awaited/instantiate.d.mts +0 -11
  1020. package/node_modules/typebox/build/type/engine/awaited/instantiate.mjs +0 -20
  1021. package/node_modules/typebox/build/type/engine/enum/enum_to_union.d.mts +0 -14
  1022. package/node_modules/typebox/build/type/engine/enum/enum_to_union.mjs +0 -24
  1023. package/node_modules/typebox/build/type/engine/options/index.d.mts +0 -1
  1024. package/node_modules/typebox/build/type/engine/options/index.mjs +0 -1
  1025. package/node_modules/typebox/build/type/engine/options/instantiate.d.mts +0 -8
  1026. package/node_modules/typebox/build/type/extends/async_iterator.d.mts +0 -7
  1027. package/node_modules/typebox/build/type/extends/async_iterator.mjs +0 -9
  1028. package/node_modules/typebox/build/type/extends/iterator.d.mts +0 -7
  1029. package/node_modules/typebox/build/type/extends/iterator.mjs +0 -9
  1030. package/node_modules/typebox/build/type/extends/promise.d.mts +0 -7
  1031. package/node_modules/typebox/build/type/extends/promise.mjs +0 -9
  1032. package/node_modules/typebox/build/type/types/async_iterator.d.mts +0 -20
  1033. package/node_modules/typebox/build/type/types/async_iterator.mjs +0 -28
  1034. package/node_modules/typebox/build/type/types/base.d.mts +0 -50
  1035. package/node_modules/typebox/build/type/types/base.mjs +0 -84
  1036. package/node_modules/typebox/build/type/types/iterator.d.mts +0 -20
  1037. package/node_modules/typebox/build/type/types/iterator.mjs +0 -28
  1038. package/node_modules/typebox/build/type/types/promise.d.mts +0 -21
  1039. package/node_modules/typebox/build/type/types/promise.mjs +0 -29
  1040. package/node_modules/typebox/build/value/clean/from_base.d.mts +0 -2
  1041. package/node_modules/typebox/build/value/clean/from_base.mjs +0 -4
  1042. package/node_modules/typebox/build/value/convert/from_base.d.mts +0 -2
  1043. package/node_modules/typebox/build/value/convert/from_base.mjs +0 -4
  1044. package/node_modules/typebox/build/value/create/from_async_iterator.d.mts +0 -2
  1045. package/node_modules/typebox/build/value/create/from_async_iterator.mjs +0 -5
  1046. package/node_modules/typebox/build/value/create/from_base.d.mts +0 -2
  1047. package/node_modules/typebox/build/value/create/from_base.mjs +0 -4
  1048. package/node_modules/typebox/build/value/create/from_iterator.d.mts +0 -2
  1049. package/node_modules/typebox/build/value/create/from_iterator.mjs +0 -5
  1050. package/node_modules/typebox/build/value/create/from_promise.d.mts +0 -2
  1051. package/node_modules/typebox/build/value/create/from_promise.mjs +0 -5
  1052. package/node_modules/typebox/build/value/default/from_base.d.mts +0 -2
  1053. package/node_modules/typebox/build/value/default/from_base.mjs +0 -5
  1054. package/node_modules/typebox/build/value/mutate/error.d.mts +0 -3
  1055. package/node_modules/typebox/build/value/mutate/error.mjs +0 -6
  1056. package/node_modules/typebox/build/value/mutate/from_array.d.mts +0 -2
  1057. package/node_modules/typebox/build/value/mutate/from_array.mjs +0 -16
  1058. package/node_modules/typebox/build/value/mutate/from_object.d.mts +0 -2
  1059. package/node_modules/typebox/build/value/mutate/from_object.mjs +0 -40
  1060. package/node_modules/typebox/build/value/mutate/from_unknown.d.mts +0 -2
  1061. package/node_modules/typebox/build/value/mutate/from_unknown.mjs +0 -7
  1062. package/node_modules/typebox/build/value/mutate/from_value.d.mts +0 -2
  1063. package/node_modules/typebox/build/value/mutate/from_value.mjs +0 -12
  1064. package/node_modules/typebox/build/value/mutate/index.d.mts +0 -1
  1065. package/node_modules/typebox/build/value/mutate/index.mjs +0 -1
  1066. package/node_modules/typebox/build/value/mutate/mutate.d.mts +0 -11
  1067. package/node_modules/typebox/build/value/mutate/mutate.mjs +0 -41
  1068. package/node_modules/typebox/build/value/repair/from_base.d.mts +0 -2
  1069. package/node_modules/typebox/build/value/repair/from_base.mjs +0 -8
  1070. /package/node_modules/typebox/build/type/engine/{awaited → with}/index.d.mts +0 -0
  1071. /package/node_modules/typebox/build/type/engine/{awaited → with}/index.mjs +0 -0
@@ -1,4 +1,4 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  /*
3
3
  Copyright 2023-2026 The Matrix.org Foundation C.I.C.
4
4
 
@@ -26,7 +26,7 @@ import { EventType } from "../@types/event.js";
26
26
  * Ordinarily the client responsible for the session will update the membership before it expires.
27
27
  * We use this duration as the fallback case where stale sessions are present for some reason.
28
28
  */
29
- export var DEFAULT_EXPIRE_DURATION = 1000 * 60 * 60 * 4;
29
+ export const DEFAULT_EXPIRE_DURATION = 1000 * 60 * 60 * 4;
30
30
 
31
31
  /**
32
32
  * Describes the source event type that provided the membership data.
@@ -51,9 +51,9 @@ export class CallMembership {
51
51
  * @throws If the content is neither format.
52
52
  */
53
53
  static membershipDataFromMatrixEvent(matrixEvent) {
54
- var sender = matrixEvent.getSender();
55
- var evType = matrixEvent.getType();
56
- var data = matrixEvent.getContent();
54
+ const sender = matrixEvent.getSender();
55
+ const evType = matrixEvent.getType();
56
+ const data = matrixEvent.getContent();
57
57
  if (sender === undefined) throw new Error("matrixEvent is missing sender field");
58
58
  try {
59
59
  // Event types are strictly checked here.
@@ -68,7 +68,7 @@ export class CallMembership {
68
68
  data
69
69
  };
70
70
  } else {
71
- throw Error("'".concat(evType, " is not a known call membership type"));
71
+ throw Error(`'${evType} is not a known call membership type`);
72
72
  }
73
73
  } catch (ex) {
74
74
  if (ex instanceof MatrixRTCMembershipParseError) {
@@ -82,22 +82,14 @@ export class CallMembership {
82
82
  * Parse the contents of a MatrixEvent and create a CallMembership instance.
83
83
  * @param matrixEvent The Matrix event to read.
84
84
  */
85
- static parseFromEvent(matrixEvent) {
86
- var _this = this;
87
- return _asyncToGenerator(function* () {
88
- var membershipData = _this.membershipDataFromMatrixEvent(matrixEvent);
89
- var rtcBackendIdentity = membershipData.kind === MembershipKind.RTC ? yield computeRtcIdentityRaw(membershipData.data.member.user_id, membershipData.data.member.device_id, membershipData.data.member.id) : "".concat(matrixEvent.getSender(), ":").concat(membershipData.data.device_id);
90
- return new CallMembership(matrixEvent, membershipData, rtcBackendIdentity);
91
- })();
85
+ static async parseFromEvent(matrixEvent) {
86
+ const membershipData = this.membershipDataFromMatrixEvent(matrixEvent);
87
+ const rtcBackendIdentity = membershipData.kind === MembershipKind.RTC ? await computeRtcIdentityRaw(membershipData.data.member.user_id, membershipData.data.member.device_id, membershipData.data.member.id) : `${matrixEvent.getSender()}:${membershipData.data.device_id}`;
88
+ return new CallMembership(matrixEvent, membershipData, rtcBackendIdentity);
92
89
  }
93
90
  static equal(a, b) {
94
- return deepCompare(a === null || a === void 0 ? void 0 : a.membershipData, b === null || b === void 0 ? void 0 : b.membershipData);
91
+ return deepCompare(a?.membershipData, b?.membershipData);
95
92
  }
96
-
97
- /** The parsed data from the Matrix event.
98
- * To access checked eventId and sender from the matrixEvent.
99
- * Class construction will fail if these values cannot get obtained. */
100
-
101
93
  /**
102
94
  * Use `parseFromEvent`.
103
95
  * Constructor should only be used by tests.
@@ -108,14 +100,19 @@ export class CallMembership {
108
100
  */
109
101
  constructor(/** The Matrix event that this membership is based on */
110
102
  matrixEvent, membershipData, rtcBackendIdentity) {
103
+ _defineProperty(this, "logger", void 0);
104
+ /** The parsed data from the Matrix event.
105
+ * To access checked eventId and sender from the matrixEvent.
106
+ * Class construction will fail if these values cannot get obtained. */
107
+ _defineProperty(this, "matrixEventData", void 0);
111
108
  this.matrixEvent = matrixEvent;
112
109
  this.membershipData = membershipData;
113
110
  this.rtcBackendIdentity = rtcBackendIdentity;
114
- var eventId = matrixEvent.getId();
115
- var sender = matrixEvent.getSender();
111
+ const eventId = matrixEvent.getId();
112
+ const sender = matrixEvent.getSender();
116
113
  if (eventId === undefined) throw new Error("parentEvent is missing eventId field");
117
114
  if (sender === undefined) throw new Error("parentEvent is missing sender field");
118
- this.logger = logger.getChild("[CallMembership ".concat(sender, ":").concat(this.deviceId, "]"));
115
+ this.logger = logger.getChild(`[CallMembership ${sender}:${this.deviceId}]`);
119
116
  this.matrixEventData = {
120
117
  eventId,
121
118
  sender
@@ -127,9 +124,10 @@ export class CallMembership {
127
124
  return this.userId;
128
125
  }
129
126
  get userId() {
130
- var _this$membershipData = this.membershipData,
131
- kind = _this$membershipData.kind,
132
- data = _this$membershipData.data;
127
+ const {
128
+ kind,
129
+ data
130
+ } = this.membershipData;
133
131
  switch (kind) {
134
132
  case MembershipKind.RTC:
135
133
  return data.member.user_id;
@@ -147,10 +145,10 @@ export class CallMembership {
147
145
  * This is computed in case SessionMembershipData is used.
148
146
  */
149
147
  get slotId() {
150
- var _this$logger2;
151
- var _this$membershipData2 = this.membershipData,
152
- kind = _this$membershipData2.kind,
153
- data = _this$membershipData2.data;
148
+ const {
149
+ kind,
150
+ data
151
+ } = this.membershipData;
154
152
  if (data.application === "m.call") {
155
153
  switch (kind) {
156
154
  case MembershipKind.RTC:
@@ -158,9 +156,7 @@ export class CallMembership {
158
156
  case MembershipKind.Session:
159
157
  default:
160
158
  {
161
- var _ref = [data.application, data.call_id],
162
- application = _ref[0],
163
- id = _ref[1];
159
+ const [application, id] = [data.application, data.call_id];
164
160
 
165
161
  // INFO_SLOT_ID_LEGACY_CASE (search for all occurances of this INFO to get the full picture)
166
162
  // The spec got changed to use `"ROOM"` instead of `""` empyt string for the implicit default call.
@@ -175,11 +171,10 @@ export class CallMembership {
175
171
  // is commited.
176
172
  //
177
173
  // See the Other INFO_SLOT_ID_LEGACY_CASE comments to see where we revert back to "" just before sending the event.
178
- var compatibilityAdaptedId;
174
+ let compatibilityAdaptedId;
179
175
  if (id === "") {
180
- var _this$logger;
181
176
  compatibilityAdaptedId = "ROOM";
182
- (_this$logger = this.logger) === null || _this$logger === void 0 || _this$logger.info("use slotId compat hack emptyString -> ROOM");
177
+ this.logger?.info("use slotId compat hack emptyString -> ROOM");
183
178
  } else {
184
179
  compatibilityAdaptedId = id;
185
180
  }
@@ -190,7 +185,7 @@ export class CallMembership {
190
185
  }
191
186
  }
192
187
  }
193
- (_this$logger2 = this.logger) === null || _this$logger2 === void 0 || _this$logger2.info("NOT using slotId compat hack emptyString -> ROOM");
188
+ this.logger?.info("NOT using slotId compat hack emptyString -> ROOM");
194
189
  // This is what the function should look like for any other application that did not
195
190
  // go through a `""`=> `"ROOM"` rename
196
191
  switch (kind) {
@@ -205,9 +200,10 @@ export class CallMembership {
205
200
  }
206
201
  }
207
202
  get deviceId() {
208
- var _this$membershipData3 = this.membershipData,
209
- kind = _this$membershipData3.kind,
210
- data = _this$membershipData3.data;
203
+ const {
204
+ kind,
205
+ data
206
+ } = this.membershipData;
211
207
  switch (kind) {
212
208
  case MembershipKind.RTC:
213
209
  return data.member.device_id;
@@ -217,7 +213,7 @@ export class CallMembership {
217
213
  }
218
214
  }
219
215
  get callIntent() {
220
- var intent = this.applicationData["m.call.intent"];
216
+ const intent = this.applicationData["m.call.intent"];
221
217
  if (typeof intent === "string") {
222
218
  return intent;
223
219
  }
@@ -229,11 +225,12 @@ export class CallMembership {
229
225
  * Parsed `slot_id` (format `{application}#{id}`) into its components (application and id).
230
226
  */
231
227
  get slotDescription() {
232
- var _this$membershipData4 = this.membershipData,
233
- kind = _this$membershipData4.kind,
234
- data = _this$membershipData4.data;
228
+ const {
229
+ kind,
230
+ data
231
+ } = this.membershipData;
235
232
  if (kind === MembershipKind.RTC) {
236
- var id = data.slot_id.slice("".concat(data.application.type, "#").length);
233
+ const id = data.slot_id.slice(`${data.application.type}#`.length);
237
234
  return {
238
235
  application: data.application.type,
239
236
  id
@@ -255,9 +252,10 @@ export class CallMembership {
255
252
  * May contain extra keys specific to the application.
256
253
  */
257
254
  get applicationData() {
258
- var _this$membershipData5 = this.membershipData,
259
- kind = _this$membershipData5.kind,
260
- data = _this$membershipData5.data;
255
+ const {
256
+ kind,
257
+ data
258
+ } = this.membershipData;
261
259
  switch (kind) {
262
260
  case MembershipKind.RTC:
263
261
  return data.application;
@@ -274,9 +272,10 @@ export class CallMembership {
274
272
 
275
273
  /** @deprecated scope is not used and will be removed in future versions. replaced by application specific types.*/
276
274
  get scope() {
277
- var _this$membershipData6 = this.membershipData,
278
- kind = _this$membershipData6.kind,
279
- data = _this$membershipData6.data;
275
+ const {
276
+ kind,
277
+ data
278
+ } = this.membershipData;
280
279
  switch (kind) {
281
280
  case MembershipKind.RTC:
282
281
  return undefined;
@@ -301,20 +300,22 @@ export class CallMembership {
301
300
  * It is also possible for a session event to set a custom membershipID. in that case this will be used.
302
301
  */
303
302
  get memberId() {
304
- var _data$membershipID;
305
303
  // the createdTs behaves equivalent to the membershipID.
306
304
  // we only need the field for the legacy member events where we needed to update them
307
305
  // synapse ignores sending state events if they have the same content.
308
- var _this$membershipData7 = this.membershipData,
309
- kind = _this$membershipData7.kind,
310
- data = _this$membershipData7.data;
306
+ const {
307
+ kind,
308
+ data
309
+ } = this.membershipData;
311
310
  switch (kind) {
312
311
  case "rtc":
313
312
  return data.member.id;
314
313
  case "session":
315
- return (// best case we have a client already publishing the right custom membershipId
316
- (_data$membershipID = data.membershipID) !== null && _data$membershipID !== void 0 ? _data$membershipID : // alternativly we use the hard coded jwt id defuatl value (used until version 0.16.0)
317
- "".concat(this.matrixEventData.sender, ":").concat(data.device_id)
314
+ return (
315
+ // best case we have a client already publishing the right custom membershipId
316
+ data.membershipID ??
317
+ // alternativly we use the hard coded jwt id defuatl value (used until version 0.16.0)
318
+ `${this.matrixEventData.sender}:${data.device_id}`
318
319
  );
319
320
  default:
320
321
  throw Error("Not possible to get memberID without knowing the membership event kind");
@@ -328,17 +329,17 @@ export class CallMembership {
328
329
  return this.memberId;
329
330
  }
330
331
  createdTs() {
331
- var _data$created_ts;
332
- var _this$membershipData8 = this.membershipData,
333
- kind = _this$membershipData8.kind,
334
- data = _this$membershipData8.data;
332
+ const {
333
+ kind,
334
+ data
335
+ } = this.membershipData;
335
336
  switch (kind) {
336
337
  case MembershipKind.RTC:
337
338
  // TODO we need to read the referenced (relation) event if available to get the real created_ts
338
339
  return this.matrixEvent.getTs();
339
340
  case MembershipKind.Session:
340
341
  default:
341
- return (_data$created_ts = data.created_ts) !== null && _data$created_ts !== void 0 ? _data$created_ts : this.matrixEvent.getTs();
342
+ return data.created_ts ?? this.matrixEvent.getTs();
342
343
  }
343
344
  }
344
345
 
@@ -347,17 +348,17 @@ export class CallMembership {
347
348
  * @returns The absolute expiry time of the membership as a unix timestamp in milliseconds or undefined if not applicable
348
349
  */
349
350
  getAbsoluteExpiry() {
350
- var _data$expires;
351
- var _this$membershipData9 = this.membershipData,
352
- kind = _this$membershipData9.kind,
353
- data = _this$membershipData9.data;
351
+ const {
352
+ kind,
353
+ data
354
+ } = this.membershipData;
354
355
  switch (kind) {
355
356
  case MembershipKind.RTC:
356
357
  return undefined;
357
358
  case MembershipKind.Session:
358
359
  default:
359
360
  // TODO: calculate this from the MatrixRTCSession join configuration directly
360
- return this.createdTs() + ((_data$expires = data.expires) !== null && _data$expires !== void 0 ? _data$expires : DEFAULT_EXPIRE_DURATION);
361
+ return this.createdTs() + (data.expires ?? DEFAULT_EXPIRE_DURATION);
361
362
  }
362
363
  }
363
364
 
@@ -366,9 +367,11 @@ export class CallMembership {
366
367
  * @deprecated Not used by RTC events.
367
368
  */
368
369
  getMsUntilExpiry() {
369
- var kind = this.membershipData.kind;
370
+ const {
371
+ kind
372
+ } = this.membershipData;
370
373
  if (kind === MembershipKind.Session) {
371
- var absExpiry = this.getAbsoluteExpiry();
374
+ const absExpiry = this.getAbsoluteExpiry();
372
375
  if (absExpiry) {
373
376
  // Assume that local clock is sufficiently in sync with other clocks in the distributed system.
374
377
  // We used to try and adjust for the local clock being skewed, but there are cases where this is not accurate.
@@ -383,7 +386,9 @@ export class CallMembership {
383
386
  * @returns true if the membership has expired, otherwise false
384
387
  */
385
388
  isExpired() {
386
- var kind = this.membershipData.kind;
389
+ const {
390
+ kind
391
+ } = this.membershipData;
387
392
  switch (kind) {
388
393
  case MembershipKind.RTC:
389
394
  return false;
@@ -411,9 +416,10 @@ export class CallMembership {
411
416
  * @returns The transport this membership uses to publish media or undefined if no transport is available.
412
417
  */
413
418
  getTransport(oldestMembership) {
414
- var _this$membershipData0 = this.membershipData,
415
- kind = _this$membershipData0.kind,
416
- data = _this$membershipData0.data;
419
+ const {
420
+ kind,
421
+ data
422
+ } = this.membershipData;
417
423
  switch (kind) {
418
424
  case MembershipKind.RTC:
419
425
  return data.rtc_transports[0];
@@ -440,9 +446,10 @@ export class CallMembership {
440
446
  * Or the value of the `foci_preferred` field for legacy session memberships (m.call.member).
441
447
  */
442
448
  get transports() {
443
- var _this$membershipData1 = this.membershipData,
444
- kind = _this$membershipData1.kind,
445
- data = _this$membershipData1.data;
449
+ const {
450
+ kind,
451
+ data
452
+ } = this.membershipData;
446
453
  switch (kind) {
447
454
  case MembershipKind.RTC:
448
455
  return data.rtc_transports;
@@ -1 +1 @@
1
- {"version":3,"file":"CallMembership.js","names":["deepCompare","logger","computeSlotId","slotIdToDescription","checkRtcMembershipData","computeRtcIdentityRaw","checkSessionsMembershipData","MatrixRTCMembershipParseError","EventType","DEFAULT_EXPIRE_DURATION","MembershipKind","CallMembership","membershipDataFromMatrixEvent","matrixEvent","sender","getSender","evType","getType","data","getContent","undefined","Error","RTCMembership","kind","RTC","GroupCallMemberPrefix","Session","concat","ex","debug","parseFromEvent","_this","_asyncToGenerator","membershipData","rtcBackendIdentity","member","user_id","device_id","id","equal","a","b","constructor","eventId","getId","getChild","deviceId","matrixEventData","userId","_this$membershipData","slotId","_this$logger2","_this$membershipData2","application","slot_id","_ref","call_id","compatibilityAdaptedId","_this$logger","info","_this$membershipData3","callIntent","intent","applicationData","warn","slotDescription","_this$membershipData4","slice","type","length","_this$membershipData5","scope","_this$membershipData6","memberId","_data$membershipID","_this$membershipData7","membershipID","createdTs","_data$created_ts","_this$membershipData8","getTs","created_ts","getAbsoluteExpiry","_data$expires","_this$membershipData9","expires","getMsUntilExpiry","absExpiry","Date","now","isExpired","getTransport","oldestMembership","_this$membershipData0","rtc_transports","focus_active","focus_selection","foci_preferred","transports","_this$membershipData1"],"sources":["../../src/matrixrtc/CallMembership.ts"],"sourcesContent":["/*\nCopyright 2023-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 { deepCompare } from \"../utils.ts\";\nimport { type RTCCallIntent, type Transport, type SlotDescription } from \"./types.ts\";\nimport { type MatrixEvent } from \"../models/event.ts\";\nimport { type Logger, logger } from \"../logger.ts\";\nimport { computeSlotId, slotIdToDescription } from \"./utils.ts\";\nimport {\n checkRtcMembershipData,\n computeRtcIdentityRaw,\n type RtcMembershipData,\n checkSessionsMembershipData,\n type SessionMembershipData,\n MatrixRTCMembershipParseError,\n} from \"./membershipData/index.ts\";\nimport { EventType } from \"../@types/event.ts\";\n\n/**\n * The default duration in milliseconds that a membership is considered valid for.\n * Ordinarily the client responsible for the session will update the membership before it expires.\n * We use this duration as the fallback case where stale sessions are present for some reason.\n */\nexport const DEFAULT_EXPIRE_DURATION = 1000 * 60 * 60 * 4;\n\n/**\n * Describes the source event type that provided the membership data.\n */\nenum MembershipKind {\n /**\n * The modern MSC4143 format event.\n */\n RTC = \"rtc\",\n /**\n * The legacy call event type.\n */\n Session = \"session\",\n}\n\ntype MembershipData =\n | { kind: MembershipKind.RTC; data: RtcMembershipData }\n | { kind: MembershipKind.Session; data: SessionMembershipData };\n\ntype LimitedEvent = Pick<MatrixEvent, \"getId\" | \"getSender\" | \"getTs\" | \"getType\" | \"getContent\">;\n// TODO: Rename to RtcMembership once we removed the legacy SessionMembership is removed, to avoid confusion.\nexport class CallMembership {\n /**\n * Parse the membershipdata from a call membership event.\n * @param matrixEvent The Matrix event to read.\n * @returns MembershipData in either MembershipKind.RTC or MembershipKind.Session format.\n * @throws If the content is neither format.\n */\n public static membershipDataFromMatrixEvent(matrixEvent: LimitedEvent): MembershipData {\n const sender = matrixEvent.getSender();\n const evType = matrixEvent.getType();\n const data = matrixEvent.getContent();\n if (sender === undefined) throw new Error(\"matrixEvent is missing sender field\");\n try {\n // Event types are strictly checked here.\n if (evType === EventType.RTCMembership && checkRtcMembershipData(data, sender)) {\n return { kind: MembershipKind.RTC, data };\n } else if (evType === EventType.GroupCallMemberPrefix && checkSessionsMembershipData(data)) {\n return { kind: MembershipKind.Session, data };\n } else {\n throw Error(`'${evType} is not a known call membership type`);\n }\n } catch (ex) {\n if (ex instanceof MatrixRTCMembershipParseError) {\n logger.debug(\"CallMembership.MatrixRTCMembershipParseError provided invalid data\", data);\n }\n throw ex;\n }\n }\n\n /**\n * Parse the contents of a MatrixEvent and create a CallMembership instance.\n * @param matrixEvent The Matrix event to read.\n */\n public static async parseFromEvent(matrixEvent: LimitedEvent): Promise<CallMembership> {\n const membershipData: MembershipData = this.membershipDataFromMatrixEvent(matrixEvent);\n const rtcBackendIdentity =\n membershipData.kind === MembershipKind.RTC\n ? await computeRtcIdentityRaw(\n membershipData.data.member.user_id,\n membershipData.data.member.device_id,\n membershipData.data.member.id,\n )\n : `${matrixEvent.getSender()}:${membershipData.data.device_id}`;\n return new CallMembership(matrixEvent, membershipData, rtcBackendIdentity);\n }\n\n public static equal(a?: CallMembership, b?: CallMembership): boolean {\n return deepCompare(a?.membershipData, b?.membershipData);\n }\n\n private logger: Logger;\n\n /** The parsed data from the Matrix event.\n * To access checked eventId and sender from the matrixEvent.\n * Class construction will fail if these values cannot get obtained. */\n private readonly matrixEventData: { eventId: string; sender: string };\n\n /**\n * Use `parseFromEvent`.\n * Constructor should only be used by tests.\n * @private\n * @param matrixEvent\n * @param membershipData\n * @param rtcBackendIdentity\n */\n public constructor(\n /** The Matrix event that this membership is based on */\n private readonly matrixEvent: LimitedEvent,\n private readonly membershipData: MembershipData,\n public readonly rtcBackendIdentity: string,\n ) {\n const eventId = matrixEvent.getId();\n const sender = matrixEvent.getSender();\n\n if (eventId === undefined) throw new Error(\"parentEvent is missing eventId field\");\n if (sender === undefined) throw new Error(\"parentEvent is missing sender field\");\n\n this.logger = logger.getChild(`[CallMembership ${sender}:${this.deviceId}]`);\n this.matrixEventData = { eventId, sender };\n }\n\n /** @deprecated use userId instead */\n public get sender(): string {\n return this.userId;\n }\n\n public get userId(): string {\n const { kind, data } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n return data.member.user_id;\n case MembershipKind.Session:\n default:\n return this.matrixEventData.sender;\n }\n }\n\n public get eventId(): string {\n return this.matrixEventData.eventId;\n }\n\n /**\n * The ID of the MatrixRTC slot that this membership belongs to (format `{application}#{id}`).\n * This is computed in case SessionMembershipData is used.\n */\n public get slotId(): string {\n const { kind, data } = this.membershipData;\n if (data.application === \"m.call\") {\n switch (kind) {\n case MembershipKind.RTC:\n return data.slot_id;\n case MembershipKind.Session:\n default: {\n const [application, id] = [data.application, data.call_id];\n\n // INFO_SLOT_ID_LEGACY_CASE (search for all occurances of this INFO to get the full picture)\n // The spec got changed to use `\"ROOM\"` instead of `\"\"` empyt string for the implicit default call.\n // State events still are sent with `\"\"` however. To find other events that should end up in the same call,\n // we use the slotId.\n // Since the CallMembership is the public representation of a rtc.member event, we just pretend it is a\n // \"ROOM\" slotId/call_id.\n // This makes all the remote members work with just this simple trick.\n //\n // We of course now need to be careful when sending legacy events (state events)\n // They get a slotDescription containing \"ROOM\" since this is what we use starting at the time this comment\n // is commited.\n //\n // See the Other INFO_SLOT_ID_LEGACY_CASE comments to see where we revert back to \"\" just before sending the event.\n let compatibilityAdaptedId: string;\n if (id === \"\") {\n compatibilityAdaptedId = \"ROOM\";\n this.logger?.info(\"use slotId compat hack emptyString -> ROOM\");\n } else {\n compatibilityAdaptedId = id;\n }\n return computeSlotId({\n application,\n id: compatibilityAdaptedId,\n });\n }\n }\n }\n\n this.logger?.info(\"NOT using slotId compat hack emptyString -> ROOM\");\n // This is what the function should look like for any other application that did not\n // go through a `\"\"`=> `\"ROOM\"` rename\n switch (kind) {\n case MembershipKind.RTC:\n return data.slot_id;\n case MembershipKind.Session:\n default:\n return computeSlotId({ application: data.application, id: data.call_id });\n }\n }\n\n public get deviceId(): string {\n const { kind, data } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n return data.member.device_id;\n case MembershipKind.Session:\n default:\n return data.device_id;\n }\n }\n\n public get callIntent(): RTCCallIntent | undefined {\n const intent = this.applicationData[\"m.call.intent\"];\n if (typeof intent === \"string\") {\n return intent;\n }\n this.logger.warn(\"RTC membership has invalid m.call.intent\");\n return undefined;\n }\n\n /**\n * Parsed `slot_id` (format `{application}#{id}`) into its components (application and id).\n */\n public get slotDescription(): SlotDescription {\n const { kind, data } = this.membershipData;\n if (kind === MembershipKind.RTC) {\n const id = data.slot_id.slice(`${data.application.type}#`.length);\n return { application: data.application.type, id };\n }\n return slotIdToDescription(this.slotId);\n }\n\n /**\n * The application `type`.\n * @deprecated Use @see applicationData\n */\n public get application(): string {\n return this.applicationData.type;\n }\n\n /**\n * Information about the application being used for the RTC session.\n * May contain extra keys specific to the application.\n */\n public get applicationData(): { type: string; [key: string]: unknown } {\n const { kind, data } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n return data.application;\n case MembershipKind.Session:\n default:\n // SessionData does not have application data as such. We return specific\n // properties in use by other getters in this class, for compatibility.\n return { \"type\": data.application, \"m.call.intent\": data[\"m.call.intent\"] };\n }\n }\n\n /** @deprecated scope is not used and will be removed in future versions. replaced by application specific types.*/\n public get scope(): SessionMembershipData[\"scope\"] | undefined {\n const { kind, data } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n return undefined;\n case MembershipKind.Session:\n default:\n return data.scope;\n }\n }\n\n /**\n * This computes the membership ID for the membership.\n * For the sticky event based rtcSessionData this is trivial it is `member.id`.\n * This is not supposed to be used to identity on an rtc backend. This is just a nouance for\n * a generated (sha256) anonymised identity. Only send `rtcBackendIdentity` to any rtc backend service.\n *\n * For the legacy sessionMemberEvents it is a bit more complex. Here we sometimes do not have this data\n * in the event content and we expected the SFU and the client to use `${this.matrixEventData.sender}:${data.device_id}`.\n *\n * So if there is no membershipID we use the hard coded jwt id default (`${this.matrixEventData.sender}:${data.device_id}`)\n * value (used until version 0.16.0)\n *\n * It is also possible for a session event to set a custom membershipID. in that case this will be used.\n */\n public get memberId(): string {\n // the createdTs behaves equivalent to the membershipID.\n // we only need the field for the legacy member events where we needed to update them\n // synapse ignores sending state events if they have the same content.\n const { kind, data } = this.membershipData;\n switch (kind) {\n case \"rtc\":\n return data.member.id;\n case \"session\":\n return (\n // best case we have a client already publishing the right custom membershipId\n data.membershipID ??\n // alternativly we use the hard coded jwt id defuatl value (used until version 0.16.0)\n `${this.matrixEventData.sender}:${data.device_id}`\n );\n default:\n throw Error(\"Not possible to get memberID without knowing the membership event kind\");\n }\n }\n\n /**\n * @deprecated renamed to `memberId`\n */\n public get membershipID(): string {\n return this.memberId;\n }\n\n public createdTs(): number {\n const { kind, data } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n // TODO we need to read the referenced (relation) event if available to get the real created_ts\n return this.matrixEvent.getTs();\n case MembershipKind.Session:\n default:\n return data.created_ts ?? this.matrixEvent.getTs();\n }\n }\n\n /**\n * Gets the absolute expiry timestamp of the membership.\n * @returns The absolute expiry time of the membership as a unix timestamp in milliseconds or undefined if not applicable\n */\n public getAbsoluteExpiry(): number | undefined {\n const { kind, data } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n return undefined;\n case MembershipKind.Session:\n default:\n // TODO: calculate this from the MatrixRTCSession join configuration directly\n return this.createdTs() + (data.expires ?? DEFAULT_EXPIRE_DURATION);\n }\n }\n\n /**\n * @returns The number of milliseconds until the membership expires or undefined if applicable\n * @deprecated Not used by RTC events.\n */\n public getMsUntilExpiry(): number | undefined {\n const { kind } = this.membershipData;\n if (kind === MembershipKind.Session) {\n const absExpiry = this.getAbsoluteExpiry();\n if (absExpiry) {\n // Assume that local clock is sufficiently in sync with other clocks in the distributed system.\n // We used to try and adjust for the local clock being skewed, but there are cases where this is not accurate.\n // The current implementation allows for the local clock to be -infinity to +MatrixRTCSession.MEMBERSHIP_EXPIRY_TIME/2\n return absExpiry - Date.now();\n }\n }\n return undefined;\n }\n\n /**\n * @returns true if the membership has expired, otherwise false\n */\n public isExpired(): boolean {\n const { kind } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n return false;\n case MembershipKind.Session:\n default:\n return this.getMsUntilExpiry()! <= 0;\n }\n }\n\n /**\n * ## RTC Membership\n * Gets the primary transport to use for this RTC membership (m.rtc.member).\n * This will return the primary transport that is used by this call membership to publish their media.\n * Directly relates to the `rtc_transports` field.\n *\n * ## Legacy session membership\n * In case of a legacy session membership (m.call.member) this will return the selected transport where\n * media is published. How this selection happens depends on the `focus_active` field of the session membership.\n * If the `focus_selection` is `oldest_membership` this will return the transport of the oldest membership\n * in the room (based on the `created_ts` field of the session membership).\n * If the `focus_selection` is `multi_sfu` it will return the first transport of the `foci_preferred` list.\n * (`multi_sfu` is equivalent to how `m.rtc.member` `rtc_transports` work).\n * @param oldestMembership For backwards compatibility with session membership (legacy). Unused in case of RTC membership.\n * Always required to make the consumer not care if it deals with RTC or session memberships.\n * @returns The transport this membership uses to publish media or undefined if no transport is available.\n */\n public getTransport(oldestMembership: CallMembership): Transport | undefined {\n const { kind, data } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n return data.rtc_transports[0];\n case MembershipKind.Session:\n switch (data.focus_active.focus_selection) {\n case \"oldest_membership\":\n if (CallMembership.equal(this, oldestMembership)) return data.foci_preferred[0];\n if (oldestMembership !== undefined) return oldestMembership.getTransport(oldestMembership);\n break;\n case \"multi_sfu\":\n return data.foci_preferred[0];\n default:\n // `focus_selection` not understood.\n return undefined;\n }\n break;\n default:\n return undefined;\n }\n }\n\n /**\n * The value of the `rtc_transports` field for RTC memberships (m.rtc.member).\n * Or the value of the `foci_preferred` field for legacy session memberships (m.call.member).\n */\n public get transports(): Transport[] {\n const { kind, data } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n return data.rtc_transports;\n case MembershipKind.Session:\n default:\n return data.foci_preferred;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CallMembership.js","names":[],"sources":["../../src/matrixrtc/CallMembership.ts"],"sourcesContent":["/*\nCopyright 2023-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 { deepCompare } from \"../utils.ts\";\nimport { type RTCCallIntent, type Transport, type SlotDescription } from \"./types.ts\";\nimport { type MatrixEvent } from \"../models/event.ts\";\nimport { type Logger, logger } from \"../logger.ts\";\nimport { computeSlotId, slotIdToDescription } from \"./utils.ts\";\nimport {\n checkRtcMembershipData,\n computeRtcIdentityRaw,\n type RtcMembershipData,\n checkSessionsMembershipData,\n type SessionMembershipData,\n MatrixRTCMembershipParseError,\n} from \"./membershipData/index.ts\";\nimport { EventType } from \"../@types/event.ts\";\n\n/**\n * The default duration in milliseconds that a membership is considered valid for.\n * Ordinarily the client responsible for the session will update the membership before it expires.\n * We use this duration as the fallback case where stale sessions are present for some reason.\n */\nexport const DEFAULT_EXPIRE_DURATION = 1000 * 60 * 60 * 4;\n\n/**\n * Describes the source event type that provided the membership data.\n */\nenum MembershipKind {\n /**\n * The modern MSC4143 format event.\n */\n RTC = \"rtc\",\n /**\n * The legacy call event type.\n */\n Session = \"session\",\n}\n\ntype MembershipData =\n | { kind: MembershipKind.RTC; data: RtcMembershipData }\n | { kind: MembershipKind.Session; data: SessionMembershipData };\n\ntype LimitedEvent = Pick<MatrixEvent, \"getId\" | \"getSender\" | \"getTs\" | \"getType\" | \"getContent\">;\n// TODO: Rename to RtcMembership once we removed the legacy SessionMembership is removed, to avoid confusion.\nexport class CallMembership {\n /**\n * Parse the membershipdata from a call membership event.\n * @param matrixEvent The Matrix event to read.\n * @returns MembershipData in either MembershipKind.RTC or MembershipKind.Session format.\n * @throws If the content is neither format.\n */\n public static membershipDataFromMatrixEvent(matrixEvent: LimitedEvent): MembershipData {\n const sender = matrixEvent.getSender();\n const evType = matrixEvent.getType();\n const data = matrixEvent.getContent();\n if (sender === undefined) throw new Error(\"matrixEvent is missing sender field\");\n try {\n // Event types are strictly checked here.\n if (evType === EventType.RTCMembership && checkRtcMembershipData(data, sender)) {\n return { kind: MembershipKind.RTC, data };\n } else if (evType === EventType.GroupCallMemberPrefix && checkSessionsMembershipData(data)) {\n return { kind: MembershipKind.Session, data };\n } else {\n throw Error(`'${evType} is not a known call membership type`);\n }\n } catch (ex) {\n if (ex instanceof MatrixRTCMembershipParseError) {\n logger.debug(\"CallMembership.MatrixRTCMembershipParseError provided invalid data\", data);\n }\n throw ex;\n }\n }\n\n /**\n * Parse the contents of a MatrixEvent and create a CallMembership instance.\n * @param matrixEvent The Matrix event to read.\n */\n public static async parseFromEvent(matrixEvent: LimitedEvent): Promise<CallMembership> {\n const membershipData: MembershipData = this.membershipDataFromMatrixEvent(matrixEvent);\n const rtcBackendIdentity =\n membershipData.kind === MembershipKind.RTC\n ? await computeRtcIdentityRaw(\n membershipData.data.member.user_id,\n membershipData.data.member.device_id,\n membershipData.data.member.id,\n )\n : `${matrixEvent.getSender()}:${membershipData.data.device_id}`;\n return new CallMembership(matrixEvent, membershipData, rtcBackendIdentity);\n }\n\n public static equal(a?: CallMembership, b?: CallMembership): boolean {\n return deepCompare(a?.membershipData, b?.membershipData);\n }\n\n private logger: Logger;\n\n /** The parsed data from the Matrix event.\n * To access checked eventId and sender from the matrixEvent.\n * Class construction will fail if these values cannot get obtained. */\n private readonly matrixEventData: { eventId: string; sender: string };\n\n /**\n * Use `parseFromEvent`.\n * Constructor should only be used by tests.\n * @private\n * @param matrixEvent\n * @param membershipData\n * @param rtcBackendIdentity\n */\n public constructor(\n /** The Matrix event that this membership is based on */\n private readonly matrixEvent: LimitedEvent,\n private readonly membershipData: MembershipData,\n public readonly rtcBackendIdentity: string,\n ) {\n const eventId = matrixEvent.getId();\n const sender = matrixEvent.getSender();\n\n if (eventId === undefined) throw new Error(\"parentEvent is missing eventId field\");\n if (sender === undefined) throw new Error(\"parentEvent is missing sender field\");\n\n this.logger = logger.getChild(`[CallMembership ${sender}:${this.deviceId}]`);\n this.matrixEventData = { eventId, sender };\n }\n\n /** @deprecated use userId instead */\n public get sender(): string {\n return this.userId;\n }\n\n public get userId(): string {\n const { kind, data } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n return data.member.user_id;\n case MembershipKind.Session:\n default:\n return this.matrixEventData.sender;\n }\n }\n\n public get eventId(): string {\n return this.matrixEventData.eventId;\n }\n\n /**\n * The ID of the MatrixRTC slot that this membership belongs to (format `{application}#{id}`).\n * This is computed in case SessionMembershipData is used.\n */\n public get slotId(): string {\n const { kind, data } = this.membershipData;\n if (data.application === \"m.call\") {\n switch (kind) {\n case MembershipKind.RTC:\n return data.slot_id;\n case MembershipKind.Session:\n default: {\n const [application, id] = [data.application, data.call_id];\n\n // INFO_SLOT_ID_LEGACY_CASE (search for all occurances of this INFO to get the full picture)\n // The spec got changed to use `\"ROOM\"` instead of `\"\"` empyt string for the implicit default call.\n // State events still are sent with `\"\"` however. To find other events that should end up in the same call,\n // we use the slotId.\n // Since the CallMembership is the public representation of a rtc.member event, we just pretend it is a\n // \"ROOM\" slotId/call_id.\n // This makes all the remote members work with just this simple trick.\n //\n // We of course now need to be careful when sending legacy events (state events)\n // They get a slotDescription containing \"ROOM\" since this is what we use starting at the time this comment\n // is commited.\n //\n // See the Other INFO_SLOT_ID_LEGACY_CASE comments to see where we revert back to \"\" just before sending the event.\n let compatibilityAdaptedId: string;\n if (id === \"\") {\n compatibilityAdaptedId = \"ROOM\";\n this.logger?.info(\"use slotId compat hack emptyString -> ROOM\");\n } else {\n compatibilityAdaptedId = id;\n }\n return computeSlotId({\n application,\n id: compatibilityAdaptedId,\n });\n }\n }\n }\n\n this.logger?.info(\"NOT using slotId compat hack emptyString -> ROOM\");\n // This is what the function should look like for any other application that did not\n // go through a `\"\"`=> `\"ROOM\"` rename\n switch (kind) {\n case MembershipKind.RTC:\n return data.slot_id;\n case MembershipKind.Session:\n default:\n return computeSlotId({ application: data.application, id: data.call_id });\n }\n }\n\n public get deviceId(): string {\n const { kind, data } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n return data.member.device_id;\n case MembershipKind.Session:\n default:\n return data.device_id;\n }\n }\n\n public get callIntent(): RTCCallIntent | undefined {\n const intent = this.applicationData[\"m.call.intent\"];\n if (typeof intent === \"string\") {\n return intent;\n }\n this.logger.warn(\"RTC membership has invalid m.call.intent\");\n return undefined;\n }\n\n /**\n * Parsed `slot_id` (format `{application}#{id}`) into its components (application and id).\n */\n public get slotDescription(): SlotDescription {\n const { kind, data } = this.membershipData;\n if (kind === MembershipKind.RTC) {\n const id = data.slot_id.slice(`${data.application.type}#`.length);\n return { application: data.application.type, id };\n }\n return slotIdToDescription(this.slotId);\n }\n\n /**\n * The application `type`.\n * @deprecated Use @see applicationData\n */\n public get application(): string {\n return this.applicationData.type;\n }\n\n /**\n * Information about the application being used for the RTC session.\n * May contain extra keys specific to the application.\n */\n public get applicationData(): { type: string; [key: string]: unknown } {\n const { kind, data } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n return data.application;\n case MembershipKind.Session:\n default:\n // SessionData does not have application data as such. We return specific\n // properties in use by other getters in this class, for compatibility.\n return { \"type\": data.application, \"m.call.intent\": data[\"m.call.intent\"] };\n }\n }\n\n /** @deprecated scope is not used and will be removed in future versions. replaced by application specific types.*/\n public get scope(): SessionMembershipData[\"scope\"] | undefined {\n const { kind, data } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n return undefined;\n case MembershipKind.Session:\n default:\n return data.scope;\n }\n }\n\n /**\n * This computes the membership ID for the membership.\n * For the sticky event based rtcSessionData this is trivial it is `member.id`.\n * This is not supposed to be used to identity on an rtc backend. This is just a nouance for\n * a generated (sha256) anonymised identity. Only send `rtcBackendIdentity` to any rtc backend service.\n *\n * For the legacy sessionMemberEvents it is a bit more complex. Here we sometimes do not have this data\n * in the event content and we expected the SFU and the client to use `${this.matrixEventData.sender}:${data.device_id}`.\n *\n * So if there is no membershipID we use the hard coded jwt id default (`${this.matrixEventData.sender}:${data.device_id}`)\n * value (used until version 0.16.0)\n *\n * It is also possible for a session event to set a custom membershipID. in that case this will be used.\n */\n public get memberId(): string {\n // the createdTs behaves equivalent to the membershipID.\n // we only need the field for the legacy member events where we needed to update them\n // synapse ignores sending state events if they have the same content.\n const { kind, data } = this.membershipData;\n switch (kind) {\n case \"rtc\":\n return data.member.id;\n case \"session\":\n return (\n // best case we have a client already publishing the right custom membershipId\n data.membershipID ??\n // alternativly we use the hard coded jwt id defuatl value (used until version 0.16.0)\n `${this.matrixEventData.sender}:${data.device_id}`\n );\n default:\n throw Error(\"Not possible to get memberID without knowing the membership event kind\");\n }\n }\n\n /**\n * @deprecated renamed to `memberId`\n */\n public get membershipID(): string {\n return this.memberId;\n }\n\n public createdTs(): number {\n const { kind, data } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n // TODO we need to read the referenced (relation) event if available to get the real created_ts\n return this.matrixEvent.getTs();\n case MembershipKind.Session:\n default:\n return data.created_ts ?? this.matrixEvent.getTs();\n }\n }\n\n /**\n * Gets the absolute expiry timestamp of the membership.\n * @returns The absolute expiry time of the membership as a unix timestamp in milliseconds or undefined if not applicable\n */\n public getAbsoluteExpiry(): number | undefined {\n const { kind, data } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n return undefined;\n case MembershipKind.Session:\n default:\n // TODO: calculate this from the MatrixRTCSession join configuration directly\n return this.createdTs() + (data.expires ?? DEFAULT_EXPIRE_DURATION);\n }\n }\n\n /**\n * @returns The number of milliseconds until the membership expires or undefined if applicable\n * @deprecated Not used by RTC events.\n */\n public getMsUntilExpiry(): number | undefined {\n const { kind } = this.membershipData;\n if (kind === MembershipKind.Session) {\n const absExpiry = this.getAbsoluteExpiry();\n if (absExpiry) {\n // Assume that local clock is sufficiently in sync with other clocks in the distributed system.\n // We used to try and adjust for the local clock being skewed, but there are cases where this is not accurate.\n // The current implementation allows for the local clock to be -infinity to +MatrixRTCSession.MEMBERSHIP_EXPIRY_TIME/2\n return absExpiry - Date.now();\n }\n }\n return undefined;\n }\n\n /**\n * @returns true if the membership has expired, otherwise false\n */\n public isExpired(): boolean {\n const { kind } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n return false;\n case MembershipKind.Session:\n default:\n return this.getMsUntilExpiry()! <= 0;\n }\n }\n\n /**\n * ## RTC Membership\n * Gets the primary transport to use for this RTC membership (m.rtc.member).\n * This will return the primary transport that is used by this call membership to publish their media.\n * Directly relates to the `rtc_transports` field.\n *\n * ## Legacy session membership\n * In case of a legacy session membership (m.call.member) this will return the selected transport where\n * media is published. How this selection happens depends on the `focus_active` field of the session membership.\n * If the `focus_selection` is `oldest_membership` this will return the transport of the oldest membership\n * in the room (based on the `created_ts` field of the session membership).\n * If the `focus_selection` is `multi_sfu` it will return the first transport of the `foci_preferred` list.\n * (`multi_sfu` is equivalent to how `m.rtc.member` `rtc_transports` work).\n * @param oldestMembership For backwards compatibility with session membership (legacy). Unused in case of RTC membership.\n * Always required to make the consumer not care if it deals with RTC or session memberships.\n * @returns The transport this membership uses to publish media or undefined if no transport is available.\n */\n public getTransport(oldestMembership: CallMembership): Transport | undefined {\n const { kind, data } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n return data.rtc_transports[0];\n case MembershipKind.Session:\n switch (data.focus_active.focus_selection) {\n case \"oldest_membership\":\n if (CallMembership.equal(this, oldestMembership)) return data.foci_preferred[0];\n if (oldestMembership !== undefined) return oldestMembership.getTransport(oldestMembership);\n break;\n case \"multi_sfu\":\n return data.foci_preferred[0];\n default:\n // `focus_selection` not understood.\n return undefined;\n }\n break;\n default:\n return undefined;\n }\n }\n\n /**\n * The value of the `rtc_transports` field for RTC memberships (m.rtc.member).\n * Or the value of the `foci_preferred` field for legacy session memberships (m.call.member).\n */\n public get transports(): Transport[] {\n const { kind, data } = this.membershipData;\n switch (kind) {\n case MembershipKind.RTC:\n return data.rtc_transports;\n case MembershipKind.Session:\n default:\n return data.foci_preferred;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  * `@bob:examle.org:DEVICEID(UUIDRANDOM_MEMBERID_RANDOMUUID)`
4
4
  */
5
5
  export function getEncryptionKeyMapKey(membership) {
6
- return "".concat(membership.userId, ":").concat(membership.deviceId, "(").concat(membership.memberId, ")");
6
+ return `${membership.userId}:${membership.deviceId}(${membership.memberId})`;
7
7
  }
8
8
 
9
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"EncryptionManager.js","names":["getEncryptionKeyMapKey","membership","concat","userId","deviceId","memberId"],"sources":["../../src/matrixrtc/EncryptionManager.ts"],"sourcesContent":["import { type EncryptionConfig } from \"./MatrixRTCSession.ts\";\nimport { type CallMembership } from \"./CallMembership.ts\";\nimport { type EncryptionKeyMapKey } from \"./types.ts\";\n\n/**\n * The string used for the keys in the the encryption key map.\n * `@bob:examle.org:DEVICEID(UUIDRANDOM_MEMBERID_RANDOMUUID)`\n */\nexport function getEncryptionKeyMapKey(membership: CallMembershipIdentityParts): EncryptionKeyMapKey {\n return `${membership.userId}:${membership.deviceId}(${membership.memberId})`;\n}\n\n/**\n * This interface is for testing and for making it possible to interchange the encryption manager.\n * @internal\n */\nexport interface IEncryptionManager {\n /**\n * Joins the encryption manager with the provided configuration.\n *\n * @param joinConfig - The configuration for joining encryption, or undefined\n * if no specific configuration is provided.\n */\n join(joinConfig: EncryptionConfig | undefined): void;\n\n /**\n * Leaves the encryption manager, cleaning up any associated resources.\n */\n leave(): void;\n\n /**\n * Called from the MatrixRTCSession when the memberships in this session updated.\n *\n * @param oldMemberships - The previous state of call memberships before the update.\n */\n onMembershipsUpdate(oldMemberships: CallMembership[]): void;\n\n /**\n * Retrieves the encryption keys currently managed by the encryption manager.\n *\n * @returns A map of participant IDs to their encryption keys.\n */\n getEncryptionKeys(): ReadonlyMap<\n EncryptionKeyMapKey,\n ReadonlyArray<{\n key: Uint8Array<ArrayBuffer>;\n keyIndex: number;\n membership: CallMembershipIdentityParts;\n rtcBackendIdentity: string;\n }>\n >;\n}\n\nexport type CallMembershipIdentityParts = Pick<CallMembership, \"userId\" | \"deviceId\" | \"memberId\">;\n"],"mappings":"AAIA;AACA;AACA;AACA;AACA,OAAO,SAASA,sBAAsBA,CAACC,UAAuC,EAAuB;EACjG,UAAAC,MAAA,CAAUD,UAAU,CAACE,MAAM,OAAAD,MAAA,CAAID,UAAU,CAACG,QAAQ,OAAAF,MAAA,CAAID,UAAU,CAACI,QAAQ;AAC7E;;AAEA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"file":"EncryptionManager.js","names":[],"sources":["../../src/matrixrtc/EncryptionManager.ts"],"sourcesContent":["import { type EncryptionConfig } from \"./MatrixRTCSession.ts\";\nimport { type CallMembership } from \"./CallMembership.ts\";\nimport { type EncryptionKeyMapKey } from \"./types.ts\";\n\n/**\n * The string used for the keys in the the encryption key map.\n * `@bob:examle.org:DEVICEID(UUIDRANDOM_MEMBERID_RANDOMUUID)`\n */\nexport function getEncryptionKeyMapKey(membership: CallMembershipIdentityParts): EncryptionKeyMapKey {\n return `${membership.userId}:${membership.deviceId}(${membership.memberId})`;\n}\n\n/**\n * This interface is for testing and for making it possible to interchange the encryption manager.\n * @internal\n */\nexport interface IEncryptionManager {\n /**\n * Joins the encryption manager with the provided configuration.\n *\n * @param joinConfig - The configuration for joining encryption, or undefined\n * if no specific configuration is provided.\n */\n join(joinConfig: EncryptionConfig | undefined): void;\n\n /**\n * Leaves the encryption manager, cleaning up any associated resources.\n */\n leave(): void;\n\n /**\n * Called from the MatrixRTCSession when the memberships in this session updated.\n *\n * @param oldMemberships - The previous state of call memberships before the update.\n */\n onMembershipsUpdate(oldMemberships: CallMembership[]): void;\n\n /**\n * Retrieves the encryption keys currently managed by the encryption manager.\n *\n * @returns A map of participant IDs to their encryption keys.\n */\n getEncryptionKeys(): ReadonlyMap<\n EncryptionKeyMapKey,\n ReadonlyArray<{\n key: Uint8Array<ArrayBuffer>;\n keyIndex: number;\n membership: CallMembershipIdentityParts;\n rtcBackendIdentity: string;\n }>\n >;\n}\n\nexport type CallMembershipIdentityParts = Pick<CallMembership, \"userId\" | \"deviceId\" | \"memberId\">;\n"],"mappings":"AAIA;AACA;AACA;AACA;AACA,OAAO,SAAS,sBAAsB,CAAC,UAAuC,EAAuB;EACjG,OAAO,GAAG,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,GAAG;AAChF;;AAEA;AACA;AACA;AACA","ignoreList":[]}
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
14
14
  limitations under the License.
15
15
  */
16
16
 
17
- export var KeyTransportEvents = /*#__PURE__*/function (KeyTransportEvents) {
17
+ export let KeyTransportEvents = /*#__PURE__*/function (KeyTransportEvents) {
18
18
  KeyTransportEvents["ReceivedKeys"] = "received_keys";
19
19
  KeyTransportEvents["NotSupportedError"] = "not_supported_error";
20
20
  return KeyTransportEvents;
@@ -1 +1 @@
1
- {"version":3,"file":"IKeyTransport.js","names":["KeyTransportEvents"],"sources":["../../src/matrixrtc/IKeyTransport.ts"],"sourcesContent":["/*\nCopyright 2025 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 { type CallMembershipIdentityParts } from \"./EncryptionManager.ts\";\nimport { type ParticipantDeviceInfo } from \"./types.ts\";\n\nexport enum KeyTransportEvents {\n ReceivedKeys = \"received_keys\",\n NotSupportedError = \"not_supported_error\",\n}\n\nexport type KeyTransportEventsHandlerMap = {\n [KeyTransportEvents.ReceivedKeys]: KeyTransportEventListener;\n [KeyTransportEvents.NotSupportedError]: () => void;\n};\n\nexport type KeyTransportEventListener = (\n membership: CallMembershipIdentityParts,\n keyBase64Encoded: string,\n index: number,\n timestamp: number,\n) => void;\n\n/**\n * Generic interface for the transport used to share room keys.\n * Keys can be shared using different transports, e.g. to-device messages or room messages.\n */\nexport interface IKeyTransport {\n /**\n * Sends the current user media key to the given members.\n * @param keyBase64Encoded\n * @param index\n * @param members - The participants that should get they key\n */\n sendKey(keyBase64Encoded: string, index: number, members: ParticipantDeviceInfo[]): Promise<void>;\n\n /** Subscribe to keys from this transport. */\n on(event: KeyTransportEvents.ReceivedKeys, listener: KeyTransportEventListener): this;\n /** Unsubscribe from keys from this transport. */\n off(event: KeyTransportEvents.ReceivedKeys, listener: KeyTransportEventListener): this;\n\n /** Once start is called the underlying transport will subscribe to its transport system.\n * Before start is called this transport will not emit any events.\n */\n start(): void;\n /** Once stop is called the underlying transport will unsubscribe from its transport system.\n * After stop is called this transport will not emit any events.\n */\n stop(): void;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA,WAAYA,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;;AAiB9B;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"file":"IKeyTransport.js","names":[],"sources":["../../src/matrixrtc/IKeyTransport.ts"],"sourcesContent":["/*\nCopyright 2025 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 { type CallMembershipIdentityParts } from \"./EncryptionManager.ts\";\nimport { type ParticipantDeviceInfo } from \"./types.ts\";\n\nexport enum KeyTransportEvents {\n ReceivedKeys = \"received_keys\",\n NotSupportedError = \"not_supported_error\",\n}\n\nexport type KeyTransportEventsHandlerMap = {\n [KeyTransportEvents.ReceivedKeys]: KeyTransportEventListener;\n [KeyTransportEvents.NotSupportedError]: () => void;\n};\n\nexport type KeyTransportEventListener = (\n membership: CallMembershipIdentityParts,\n keyBase64Encoded: string,\n index: number,\n timestamp: number,\n) => void;\n\n/**\n * Generic interface for the transport used to share room keys.\n * Keys can be shared using different transports, e.g. to-device messages or room messages.\n */\nexport interface IKeyTransport {\n /**\n * Sends the current user media key to the given members.\n * @param keyBase64Encoded\n * @param index\n * @param members - The participants that should get they key\n */\n sendKey(keyBase64Encoded: string, index: number, members: ParticipantDeviceInfo[]): Promise<void>;\n\n /** Subscribe to keys from this transport. */\n on(event: KeyTransportEvents.ReceivedKeys, listener: KeyTransportEventListener): this;\n /** Unsubscribe from keys from this transport. */\n off(event: KeyTransportEvents.ReceivedKeys, listener: KeyTransportEventListener): this;\n\n /** Once start is called the underlying transport will subscribe to its transport system.\n * Before start is called this transport will not emit any events.\n */\n start(): void;\n /** Once stop is called the underlying transport will unsubscribe from its transport system.\n * After stop is called this transport will not emit any events.\n */\n stop(): void;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA,WAAY,kBAAkB,0BAAlB,kBAAkB;EAAlB,kBAAkB;EAAlB,kBAAkB;EAAA,OAAlB,kBAAkB;AAAA;;AAiB9B;AACA;AACA;AACA","ignoreList":[]}
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
14
14
  limitations under the License.
15
15
  */
16
16
 
17
- export var MembershipManagerEvent = /*#__PURE__*/function (MembershipManagerEvent) {
17
+ export let MembershipManagerEvent = /*#__PURE__*/function (MembershipManagerEvent) {
18
18
  MembershipManagerEvent["StatusChanged"] = "StatusChanged";
19
19
  /**
20
20
  * Emitted when the membership manager has not heard back from the server for the duration
@@ -1 +1 @@
1
- {"version":3,"file":"IMembershipManager.js","names":["MembershipManagerEvent"],"sources":["../../src/matrixrtc/IMembershipManager.ts"],"sourcesContent":["/*\nCopyright 2025 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 type { CallMembership } from \"./CallMembership.ts\";\nimport type { RTCCallIntent, Status, Transport } from \"./types.ts\";\nimport { type TypedEventEmitter } from \"../models/typed-event-emitter.ts\";\n\nexport enum MembershipManagerEvent {\n StatusChanged = \"StatusChanged\",\n /**\n * Emitted when the membership manager has not heard back from the server for the duration\n * of the delayed event and hence failed to restart the delayed event.\n * This means that the user is probably not joined anymore and the leave event was distributed to other session members.\n */\n ProbablyLeft = \"ProbablyLeft\",\n /**\n * Once the membershipManger has aquired the a delay id (after sending the state event)\n * It will emit and share the delay id.\n */\n DelayIdChanged = \"DelayIdChanged\",\n}\n\nexport type MembershipManagerEventHandlerMap = {\n [MembershipManagerEvent.StatusChanged]: (prefStatus: Status, newStatus: Status) => void;\n [MembershipManagerEvent.ProbablyLeft]: (probablyLeft: boolean) => void;\n [MembershipManagerEvent.DelayIdChanged]: (delayId: string | undefined) => void;\n};\n\n/**\n * This interface defines what a MembershipManager uses and exposes.\n * This interface is what we use to write tests and allows changing the actual implementation\n * without breaking tests because of some internal method renaming.\n *\n * @internal\n */\nexport interface IMembershipManager extends TypedEventEmitter<\n MembershipManagerEvent,\n MembershipManagerEventHandlerMap\n> {\n /**\n * If we are trying to join, or have successfully joined the session.\n * It does not reflect if the room state is already configured to represent us being joined.\n * It only means that the Manager should be trying to connect or to disconnect running.\n * The Manager is still running right after isJoined becomes false to send the disconnect events.\n * @returns true if we intend to be participating in the MatrixRTC session\n * @deprecated This name is confusing and replaced by `isActivated()`. (Returns the same as `isActivated()`)\n */\n isJoined(): boolean;\n /**\n * If the manager is activated. This means it tries to do its job to join the call, resend state events...\n * It does not imply that the room state is already configured to represent being joined.\n * It means that the Manager tries to connect or is connected. (\"the manager is still active\")\n * Once `leave()` is called the manager is not activated anymore but still running until `leave()` resolves.\n * @returns `true` if we intend to be participating in the MatrixRTC session\n */\n isActivated(): boolean;\n /**\n * Get the actual connection status of the manager.\n */\n get status(): Status;\n\n /**\n * The Current own state event if the manger is connected.\n * `undefined` if not connected.\n */\n get ownMembership(): CallMembership | undefined;\n\n /**\n * If the membership manager has reason to believe that the hs sent a leave event\n * and as a consequence the current user is perceived as left for other session participants.\n */\n get probablyLeft(): boolean;\n\n /**\n * If the membership manager has reason to believe that the hs sent a leave event\n * and as a consequence the current user is perceived as left for other session participants.\n */\n get delayId(): string | undefined;\n\n /**\n * Start sending all necessary events to make this user participate in the RTC session.\n * @param fociPreferred the list of preferred foci to use in the joined RTC membership event.\n * If multiSfuFocus is set, this is only needed if this client wants to publish to multiple transports simultaneously.\n * @param multiSfuFocus the active focus to use in the joined RTC membership event. Setting this implies the\n * membership manager will operate in a multi-SFU connection mode. If `undefined`, an `oldest_membership`\n * transport selection will be used instead.\n * @throws can throw if it exceeds a configured maximum retry.\n */\n join(fociPreferred: Transport[], multiSfuFocus?: Transport, onError?: (error: unknown) => void): void;\n /**\n * Send all necessary events to make this user leave the RTC session.\n * @param timeout the maximum duration in ms until the promise is forced to resolve.\n * @returns It resolves with true in case the leave was sent successfully.\n * It resolves with false in case we hit the timeout before sending successfully.\n */\n leave(timeout?: number): Promise<boolean>;\n /**\n * Call this if the MatrixRTC session members have changed.\n */\n onRTCSessionMemberUpdate(memberships: CallMembership[]): Promise<void>;\n\n /**\n * Update the intent of a membership on the call (e.g. user is now providing a video feed)\n * @param callIntent The new intent to set.\n */\n updateCallIntent(callIntent: RTCCallIntent): Promise<void>;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA,WAAYA,sBAAsB,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAE9B;AACJ;AACA;AACA;AACA;EANYA,sBAAsB;EAQ9B;AACJ;AACA;AACA;EAXYA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA;;AAqBlC;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"file":"IMembershipManager.js","names":[],"sources":["../../src/matrixrtc/IMembershipManager.ts"],"sourcesContent":["/*\nCopyright 2025 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 type { CallMembership } from \"./CallMembership.ts\";\nimport type { RTCCallIntent, Status, Transport } from \"./types.ts\";\nimport { type TypedEventEmitter } from \"../models/typed-event-emitter.ts\";\n\nexport enum MembershipManagerEvent {\n StatusChanged = \"StatusChanged\",\n /**\n * Emitted when the membership manager has not heard back from the server for the duration\n * of the delayed event and hence failed to restart the delayed event.\n * This means that the user is probably not joined anymore and the leave event was distributed to other session members.\n */\n ProbablyLeft = \"ProbablyLeft\",\n /**\n * Once the membershipManger has aquired the a delay id (after sending the state event)\n * It will emit and share the delay id.\n */\n DelayIdChanged = \"DelayIdChanged\",\n}\n\nexport type MembershipManagerEventHandlerMap = {\n [MembershipManagerEvent.StatusChanged]: (prefStatus: Status, newStatus: Status) => void;\n [MembershipManagerEvent.ProbablyLeft]: (probablyLeft: boolean) => void;\n [MembershipManagerEvent.DelayIdChanged]: (delayId: string | undefined) => void;\n};\n\n/**\n * This interface defines what a MembershipManager uses and exposes.\n * This interface is what we use to write tests and allows changing the actual implementation\n * without breaking tests because of some internal method renaming.\n *\n * @internal\n */\nexport interface IMembershipManager extends TypedEventEmitter<\n MembershipManagerEvent,\n MembershipManagerEventHandlerMap\n> {\n /**\n * If we are trying to join, or have successfully joined the session.\n * It does not reflect if the room state is already configured to represent us being joined.\n * It only means that the Manager should be trying to connect or to disconnect running.\n * The Manager is still running right after isJoined becomes false to send the disconnect events.\n * @returns true if we intend to be participating in the MatrixRTC session\n * @deprecated This name is confusing and replaced by `isActivated()`. (Returns the same as `isActivated()`)\n */\n isJoined(): boolean;\n /**\n * If the manager is activated. This means it tries to do its job to join the call, resend state events...\n * It does not imply that the room state is already configured to represent being joined.\n * It means that the Manager tries to connect or is connected. (\"the manager is still active\")\n * Once `leave()` is called the manager is not activated anymore but still running until `leave()` resolves.\n * @returns `true` if we intend to be participating in the MatrixRTC session\n */\n isActivated(): boolean;\n /**\n * Get the actual connection status of the manager.\n */\n get status(): Status;\n\n /**\n * The Current own state event if the manger is connected.\n * `undefined` if not connected.\n */\n get ownMembership(): CallMembership | undefined;\n\n /**\n * If the membership manager has reason to believe that the hs sent a leave event\n * and as a consequence the current user is perceived as left for other session participants.\n */\n get probablyLeft(): boolean;\n\n /**\n * If the membership manager has reason to believe that the hs sent a leave event\n * and as a consequence the current user is perceived as left for other session participants.\n */\n get delayId(): string | undefined;\n\n /**\n * Start sending all necessary events to make this user participate in the RTC session.\n * @param fociPreferred the list of preferred foci to use in the joined RTC membership event.\n * If multiSfuFocus is set, this is only needed if this client wants to publish to multiple transports simultaneously.\n * @param multiSfuFocus the active focus to use in the joined RTC membership event. Setting this implies the\n * membership manager will operate in a multi-SFU connection mode. If `undefined`, an `oldest_membership`\n * transport selection will be used instead.\n * @throws can throw if it exceeds a configured maximum retry.\n */\n join(fociPreferred: Transport[], multiSfuFocus?: Transport, onError?: (error: unknown) => void): void;\n /**\n * Send all necessary events to make this user leave the RTC session.\n * @param timeout the maximum duration in ms until the promise is forced to resolve.\n * @returns It resolves with true in case the leave was sent successfully.\n * It resolves with false in case we hit the timeout before sending successfully.\n */\n leave(timeout?: number): Promise<boolean>;\n /**\n * Call this if the MatrixRTC session members have changed.\n */\n onRTCSessionMemberUpdate(memberships: CallMembership[]): Promise<void>;\n\n /**\n * Update the intent of a membership on the call (e.g. user is now providing a video feed)\n * @param callIntent The new intent to set.\n */\n updateCallIntent(callIntent: RTCCallIntent): Promise<void>;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA,WAAY,sBAAsB,0BAAtB,sBAAsB;EAAtB,sBAAsB;EAE9B;AACJ;AACA;AACA;AACA;EANY,sBAAsB;EAQ9B;AACJ;AACA;AACA;EAXY,sBAAsB;EAAA,OAAtB,sBAAsB;AAAA;;AAqBlC;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -9,7 +9,7 @@ export interface LivekitTransport extends LivekitTransportConfig {
9
9
  }
10
10
  export declare const isLivekitTransport: (object: any) => object is LivekitTransport;
11
11
  /**
12
- * @deprecated, this is just needed for the old focus active / focus fields of a call membership.
12
+ * @deprecated this is just needed for the old focus active / focus fields of a call membership.
13
13
  * Not needed for new implementations.
14
14
  */
15
15
  export interface LivekitFocusSelection extends Transport {
@@ -14,16 +14,16 @@ See the License for the specific language governing permissions and
14
14
  limitations under the License.
15
15
  */
16
16
 
17
- export var isLivekitTransportConfig = object => object.type === "livekit" && "livekit_service_url" in object;
18
- export var isLivekitTransport = object => isLivekitTransportConfig(object) && "livekit_alias" in object;
17
+ export const isLivekitTransportConfig = object => object.type === "livekit" && "livekit_service_url" in object;
18
+ export const isLivekitTransport = object => isLivekitTransportConfig(object) && "livekit_alias" in object;
19
19
 
20
20
  /**
21
- * @deprecated, this is just needed for the old focus active / focus fields of a call membership.
21
+ * @deprecated this is just needed for the old focus active / focus fields of a call membership.
22
22
  * Not needed for new implementations.
23
23
  */
24
24
 
25
25
  /**
26
26
  * @deprecated see LivekitFocusSelection
27
27
  */
28
- export var isLivekitFocusSelection = object => object.type === "livekit" && "focus_selection" in object;
28
+ export const isLivekitFocusSelection = object => object.type === "livekit" && "focus_selection" in object;
29
29
  //# sourceMappingURL=LivekitTransport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LivekitTransport.js","names":["isLivekitTransportConfig","object","type","isLivekitTransport","isLivekitFocusSelection"],"sources":["../../src/matrixrtc/LivekitTransport.ts"],"sourcesContent":["/*\nCopyright 2025 New Vector Ltd\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { type Transport } from \"./types.ts\";\n\nexport interface LivekitTransportConfig extends Transport {\n type: \"livekit\";\n livekit_service_url: string;\n}\n\nexport const isLivekitTransportConfig = (object: any): object is LivekitTransportConfig =>\n object.type === \"livekit\" && \"livekit_service_url\" in object;\n\nexport interface LivekitTransport extends LivekitTransportConfig {\n livekit_alias: string;\n}\n\nexport const isLivekitTransport = (object: any): object is LivekitTransport =>\n isLivekitTransportConfig(object) && \"livekit_alias\" in object;\n\n/**\n * @deprecated, this is just needed for the old focus active / focus fields of a call membership.\n * Not needed for new implementations.\n */\nexport interface LivekitFocusSelection extends Transport {\n type: \"livekit\";\n focus_selection: \"oldest_membership\" | \"multi_sfu\";\n}\n/**\n * @deprecated see LivekitFocusSelection\n */\nexport const isLivekitFocusSelection = (object: any): object is LivekitFocusSelection =>\n object.type === \"livekit\" && \"focus_selection\" in object;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA,OAAO,IAAMA,wBAAwB,GAAIC,MAAW,IAChDA,MAAM,CAACC,IAAI,KAAK,SAAS,IAAI,qBAAqB,IAAID,MAAM;AAMhE,OAAO,IAAME,kBAAkB,GAAIF,MAAW,IAC1CD,wBAAwB,CAACC,MAAM,CAAC,IAAI,eAAe,IAAIA,MAAM;;AAEjE;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA,OAAO,IAAMG,uBAAuB,GAAIH,MAAW,IAC/CA,MAAM,CAACC,IAAI,KAAK,SAAS,IAAI,iBAAiB,IAAID,MAAM","ignoreList":[]}
1
+ {"version":3,"file":"LivekitTransport.js","names":[],"sources":["../../src/matrixrtc/LivekitTransport.ts"],"sourcesContent":["/*\nCopyright 2025 New Vector Ltd\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { type Transport } from \"./types.ts\";\n\nexport interface LivekitTransportConfig extends Transport {\n type: \"livekit\";\n livekit_service_url: string;\n}\n\nexport const isLivekitTransportConfig = (object: any): object is LivekitTransportConfig =>\n object.type === \"livekit\" && \"livekit_service_url\" in object;\n\nexport interface LivekitTransport extends LivekitTransportConfig {\n livekit_alias: string;\n}\n\nexport const isLivekitTransport = (object: any): object is LivekitTransport =>\n isLivekitTransportConfig(object) && \"livekit_alias\" in object;\n\n/**\n * @deprecated this is just needed for the old focus active / focus fields of a call membership.\n * Not needed for new implementations.\n */\nexport interface LivekitFocusSelection extends Transport {\n type: \"livekit\";\n focus_selection: \"oldest_membership\" | \"multi_sfu\";\n}\n/**\n * @deprecated see LivekitFocusSelection\n */\nexport const isLivekitFocusSelection = (object: any): object is LivekitFocusSelection =>\n object.type === \"livekit\" && \"focus_selection\" in object;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA,OAAO,MAAM,wBAAwB,GAAI,MAAW,IAChD,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,qBAAqB,IAAI,MAAM;AAMhE,OAAO,MAAM,kBAAkB,GAAI,MAAW,IAC1C,wBAAwB,CAAC,MAAM,CAAC,IAAI,eAAe,IAAI,MAAM;;AAEjE;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA,OAAO,MAAM,uBAAuB,GAAI,MAAW,IAC/C,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,iBAAiB,IAAI,MAAM","ignoreList":[]}