@textrp/briij-js-sdk 41.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1104) hide show
  1. package/CHANGELOG.md +6464 -0
  2. package/LICENSE +177 -0
  3. package/README.md +477 -0
  4. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +14 -0
  5. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +1 -0
  6. package/lib/@types/AESEncryptedSecretStoragePayload.js +1 -0
  7. package/lib/@types/AESEncryptedSecretStoragePayload.js.map +1 -0
  8. package/lib/@types/IIdentityServerProvider.d.ts +9 -0
  9. package/lib/@types/IIdentityServerProvider.d.ts.map +1 -0
  10. package/lib/@types/IIdentityServerProvider.js +1 -0
  11. package/lib/@types/IIdentityServerProvider.js.map +1 -0
  12. package/lib/@types/PushRules.d.ts +140 -0
  13. package/lib/@types/PushRules.d.ts.map +1 -0
  14. package/lib/@types/PushRules.js +94 -0
  15. package/lib/@types/PushRules.js.map +1 -0
  16. package/lib/@types/another-json.d.js +0 -0
  17. package/lib/@types/another-json.d.js.map +1 -0
  18. package/lib/@types/auth.d.ts +213 -0
  19. package/lib/@types/auth.d.ts.map +1 -0
  20. package/lib/@types/auth.js +107 -0
  21. package/lib/@types/auth.js.map +1 -0
  22. package/lib/@types/beacon.d.ts +106 -0
  23. package/lib/@types/beacon.d.ts.map +1 -0
  24. package/lib/@types/beacon.js +119 -0
  25. package/lib/@types/beacon.js.map +1 -0
  26. package/lib/@types/common.d.ts +10 -0
  27. package/lib/@types/common.d.ts.map +1 -0
  28. package/lib/@types/common.js +1 -0
  29. package/lib/@types/common.js.map +1 -0
  30. package/lib/@types/crypto.d.ts +46 -0
  31. package/lib/@types/crypto.d.ts.map +1 -0
  32. package/lib/@types/crypto.js +1 -0
  33. package/lib/@types/crypto.js.map +1 -0
  34. package/lib/@types/event.d.ts +356 -0
  35. package/lib/@types/event.d.ts.map +1 -0
  36. package/lib/@types/event.js +280 -0
  37. package/lib/@types/event.js.map +1 -0
  38. package/lib/@types/events.d.ts +92 -0
  39. package/lib/@types/events.d.ts.map +1 -0
  40. package/lib/@types/events.js +1 -0
  41. package/lib/@types/events.js.map +1 -0
  42. package/lib/@types/extensible_events.d.ts +98 -0
  43. package/lib/@types/extensible_events.d.ts.map +1 -0
  44. package/lib/@types/extensible_events.js +116 -0
  45. package/lib/@types/extensible_events.js.map +1 -0
  46. package/lib/@types/global.d.js +18 -0
  47. package/lib/@types/global.d.js.map +1 -0
  48. package/lib/@types/local_notifications.d.ts +4 -0
  49. package/lib/@types/local_notifications.d.ts.map +1 -0
  50. package/lib/@types/local_notifications.js +1 -0
  51. package/lib/@types/local_notifications.js.map +1 -0
  52. package/lib/@types/location.d.ts +60 -0
  53. package/lib/@types/location.d.ts.map +1 -0
  54. package/lib/@types/location.js +66 -0
  55. package/lib/@types/location.js.map +1 -0
  56. package/lib/@types/matrix-sdk-crypto-wasm.d.js +1 -0
  57. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -0
  58. package/lib/@types/media.d.ts +220 -0
  59. package/lib/@types/media.d.ts.map +1 -0
  60. package/lib/@types/media.js +1 -0
  61. package/lib/@types/media.js.map +1 -0
  62. package/lib/@types/membership.d.ts +41 -0
  63. package/lib/@types/membership.d.ts.map +1 -0
  64. package/lib/@types/membership.js +58 -0
  65. package/lib/@types/membership.js.map +1 -0
  66. package/lib/@types/partials.d.ts +72 -0
  67. package/lib/@types/partials.d.ts.map +1 -0
  68. package/lib/@types/partials.js +71 -0
  69. package/lib/@types/partials.js.map +1 -0
  70. package/lib/@types/polls.d.ts +89 -0
  71. package/lib/@types/polls.d.ts.map +1 -0
  72. package/lib/@types/polls.js +86 -0
  73. package/lib/@types/polls.js.map +1 -0
  74. package/lib/@types/read_receipts.d.ts +36 -0
  75. package/lib/@types/read_receipts.d.ts.map +1 -0
  76. package/lib/@types/read_receipts.js +27 -0
  77. package/lib/@types/read_receipts.js.map +1 -0
  78. package/lib/@types/registration.d.ts +85 -0
  79. package/lib/@types/registration.d.ts.map +1 -0
  80. package/lib/@types/registration.js +1 -0
  81. package/lib/@types/registration.js.map +1 -0
  82. package/lib/@types/requests.d.ts +267 -0
  83. package/lib/@types/requests.d.ts.map +1 -0
  84. package/lib/@types/requests.js +42 -0
  85. package/lib/@types/requests.js.map +1 -0
  86. package/lib/@types/search.d.ts +90 -0
  87. package/lib/@types/search.d.ts.map +1 -0
  88. package/lib/@types/search.js +30 -0
  89. package/lib/@types/search.js.map +1 -0
  90. package/lib/@types/signed.d.ts +9 -0
  91. package/lib/@types/signed.d.ts.map +1 -0
  92. package/lib/@types/signed.js +1 -0
  93. package/lib/@types/signed.js.map +1 -0
  94. package/lib/@types/spaces.d.ts +16 -0
  95. package/lib/@types/spaces.d.ts.map +1 -0
  96. package/lib/@types/spaces.js +1 -0
  97. package/lib/@types/spaces.js.map +1 -0
  98. package/lib/@types/state_events.d.ts +121 -0
  99. package/lib/@types/state_events.d.ts.map +1 -0
  100. package/lib/@types/state_events.js +1 -0
  101. package/lib/@types/state_events.js.map +1 -0
  102. package/lib/@types/synapse.d.ts +19 -0
  103. package/lib/@types/synapse.d.ts.map +1 -0
  104. package/lib/@types/synapse.js +1 -0
  105. package/lib/@types/synapse.js.map +1 -0
  106. package/lib/@types/sync.d.ts +8 -0
  107. package/lib/@types/sync.d.ts.map +1 -0
  108. package/lib/@types/sync.js +25 -0
  109. package/lib/@types/sync.js.map +1 -0
  110. package/lib/@types/threepids.d.ts +12 -0
  111. package/lib/@types/threepids.d.ts.map +1 -0
  112. package/lib/@types/threepids.js +24 -0
  113. package/lib/@types/threepids.js.map +1 -0
  114. package/lib/@types/topic.d.ts +55 -0
  115. package/lib/@types/topic.d.ts.map +1 -0
  116. package/lib/@types/topic.js +62 -0
  117. package/lib/@types/topic.js.map +1 -0
  118. package/lib/@types/uia.d.ts +8 -0
  119. package/lib/@types/uia.d.ts.map +1 -0
  120. package/lib/@types/uia.js +1 -0
  121. package/lib/@types/uia.js.map +1 -0
  122. package/lib/NamespacedValue.d.ts +32 -0
  123. package/lib/NamespacedValue.d.ts.map +1 -0
  124. package/lib/NamespacedValue.js +113 -0
  125. package/lib/NamespacedValue.js.map +1 -0
  126. package/lib/ReEmitter.d.ts +15 -0
  127. package/lib/ReEmitter.d.ts.map +1 -0
  128. package/lib/ReEmitter.js +87 -0
  129. package/lib/ReEmitter.js.map +1 -0
  130. package/lib/ToDeviceMessageQueue.d.ts +30 -0
  131. package/lib/ToDeviceMessageQueue.d.ts.map +1 -0
  132. package/lib/ToDeviceMessageQueue.js +135 -0
  133. package/lib/ToDeviceMessageQueue.js.map +1 -0
  134. package/lib/autodiscovery.d.ts +136 -0
  135. package/lib/autodiscovery.d.ts.map +1 -0
  136. package/lib/autodiscovery.js +464 -0
  137. package/lib/autodiscovery.js.map +1 -0
  138. package/lib/base64.d.ts +25 -0
  139. package/lib/base64.d.ts.map +1 -0
  140. package/lib/base64.js +95 -0
  141. package/lib/base64.js.map +1 -0
  142. package/lib/briij.d.ts +116 -0
  143. package/lib/briij.d.ts.map +1 -0
  144. package/lib/briij.js +145 -0
  145. package/lib/briij.js.map +1 -0
  146. package/lib/browser-index.d.ts +8 -0
  147. package/lib/browser-index.d.ts.map +1 -0
  148. package/lib/browser-index.js +35 -0
  149. package/lib/browser-index.js.map +1 -0
  150. package/lib/client.d.ts +3493 -0
  151. package/lib/client.d.ts.map +1 -0
  152. package/lib/client.js +7482 -0
  153. package/lib/client.js.map +1 -0
  154. package/lib/common-crypto/CryptoBackend.d.ts +234 -0
  155. package/lib/common-crypto/CryptoBackend.d.ts.map +1 -0
  156. package/lib/common-crypto/CryptoBackend.js +69 -0
  157. package/lib/common-crypto/CryptoBackend.js.map +1 -0
  158. package/lib/common-crypto/key-passphrase.d.ts +14 -0
  159. package/lib/common-crypto/key-passphrase.d.ts.map +1 -0
  160. package/lib/common-crypto/key-passphrase.js +33 -0
  161. package/lib/common-crypto/key-passphrase.js.map +1 -0
  162. package/lib/content-helpers.d.ts +90 -0
  163. package/lib/content-helpers.d.ts.map +1 -0
  164. package/lib/content-helpers.js +262 -0
  165. package/lib/content-helpers.js.map +1 -0
  166. package/lib/content-repo.d.ts +25 -0
  167. package/lib/content-repo.d.ts.map +1 -0
  168. package/lib/content-repo.js +109 -0
  169. package/lib/content-repo.js.map +1 -0
  170. package/lib/crypto/store/base.d.ts +301 -0
  171. package/lib/crypto/store/base.d.ts.map +1 -0
  172. package/lib/crypto/store/base.js +145 -0
  173. package/lib/crypto/store/base.js.map +1 -0
  174. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +94 -0
  175. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +1 -0
  176. package/lib/crypto/store/indexeddb-crypto-store-backend.js +604 -0
  177. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -0
  178. package/lib/crypto/store/indexeddb-crypto-store.d.ts +251 -0
  179. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +1 -0
  180. package/lib/crypto/store/indexeddb-crypto-store.js +477 -0
  181. package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -0
  182. package/lib/crypto/store/localStorage-crypto-store.d.ts +102 -0
  183. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +1 -0
  184. package/lib/crypto/store/localStorage-crypto-store.js +374 -0
  185. package/lib/crypto/store/localStorage-crypto-store.js.map +1 -0
  186. package/lib/crypto/store/memory-crypto-store.d.ts +117 -0
  187. package/lib/crypto/store/memory-crypto-store.d.ts.map +1 -0
  188. package/lib/crypto/store/memory-crypto-store.js +311 -0
  189. package/lib/crypto/store/memory-crypto-store.js.map +1 -0
  190. package/lib/crypto-api/CryptoEvent.d.ts +120 -0
  191. package/lib/crypto-api/CryptoEvent.d.ts.map +1 -0
  192. package/lib/crypto-api/CryptoEvent.js +137 -0
  193. package/lib/crypto-api/CryptoEvent.js.map +1 -0
  194. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +26 -0
  195. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +1 -0
  196. package/lib/crypto-api/CryptoEventHandlerMap.js +1 -0
  197. package/lib/crypto-api/CryptoEventHandlerMap.js.map +1 -0
  198. package/lib/crypto-api/index.d.ts +1160 -0
  199. package/lib/crypto-api/index.d.ts.map +1 -0
  200. package/lib/crypto-api/index.js +410 -0
  201. package/lib/crypto-api/index.js.map +1 -0
  202. package/lib/crypto-api/key-passphrase.d.ts +11 -0
  203. package/lib/crypto-api/key-passphrase.d.ts.map +1 -0
  204. package/lib/crypto-api/key-passphrase.js +51 -0
  205. package/lib/crypto-api/key-passphrase.js.map +1 -0
  206. package/lib/crypto-api/keybackup.d.ts +87 -0
  207. package/lib/crypto-api/keybackup.d.ts.map +1 -0
  208. package/lib/crypto-api/keybackup.js +1 -0
  209. package/lib/crypto-api/keybackup.js.map +1 -0
  210. package/lib/crypto-api/recovery-key.d.ts +11 -0
  211. package/lib/crypto-api/recovery-key.d.ts.map +1 -0
  212. package/lib/crypto-api/recovery-key.js +65 -0
  213. package/lib/crypto-api/recovery-key.js.map +1 -0
  214. package/lib/crypto-api/verification.d.ts +315 -0
  215. package/lib/crypto-api/verification.d.ts.map +1 -0
  216. package/lib/crypto-api/verification.js +130 -0
  217. package/lib/crypto-api/verification.js.map +1 -0
  218. package/lib/digest.d.ts +10 -0
  219. package/lib/digest.d.ts.map +1 -0
  220. package/lib/digest.js +40 -0
  221. package/lib/digest.js.map +1 -0
  222. package/lib/embedded.d.ts +182 -0
  223. package/lib/embedded.d.ts.map +1 -0
  224. package/lib/embedded.js +746 -0
  225. package/lib/embedded.js.map +1 -0
  226. package/lib/errors.d.ts +38 -0
  227. package/lib/errors.d.ts.map +1 -0
  228. package/lib/errors.js +73 -0
  229. package/lib/errors.js.map +1 -0
  230. package/lib/event-mapper.d.ts +9 -0
  231. package/lib/event-mapper.d.ts.map +1 -0
  232. package/lib/event-mapper.js +74 -0
  233. package/lib/event-mapper.js.map +1 -0
  234. package/lib/extensible_events_v1/ExtensibleEvent.d.ts +38 -0
  235. package/lib/extensible_events_v1/ExtensibleEvent.d.ts.map +1 -0
  236. package/lib/extensible_events_v1/ExtensibleEvent.js +57 -0
  237. package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -0
  238. package/lib/extensible_events_v1/InvalidEventError.d.ts +7 -0
  239. package/lib/extensible_events_v1/InvalidEventError.d.ts.map +1 -0
  240. package/lib/extensible_events_v1/InvalidEventError.js +25 -0
  241. package/lib/extensible_events_v1/InvalidEventError.js.map +1 -0
  242. package/lib/extensible_events_v1/MessageEvent.d.ts +44 -0
  243. package/lib/extensible_events_v1/MessageEvent.d.ts.map +1 -0
  244. package/lib/extensible_events_v1/MessageEvent.js +134 -0
  245. package/lib/extensible_events_v1/MessageEvent.js.map +1 -0
  246. package/lib/extensible_events_v1/PollEndEvent.d.ts +33 -0
  247. package/lib/extensible_events_v1/PollEndEvent.d.ts.map +1 -0
  248. package/lib/extensible_events_v1/PollEndEvent.js +88 -0
  249. package/lib/extensible_events_v1/PollEndEvent.js.map +1 -0
  250. package/lib/extensible_events_v1/PollResponseEvent.d.ts +49 -0
  251. package/lib/extensible_events_v1/PollResponseEvent.d.ts.map +1 -0
  252. package/lib/extensible_events_v1/PollResponseEvent.js +135 -0
  253. package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -0
  254. package/lib/extensible_events_v1/PollStartEvent.d.ts +71 -0
  255. package/lib/extensible_events_v1/PollStartEvent.d.ts.map +1 -0
  256. package/lib/extensible_events_v1/PollStartEvent.js +185 -0
  257. package/lib/extensible_events_v1/PollStartEvent.js.map +1 -0
  258. package/lib/extensible_events_v1/utilities.d.ts +14 -0
  259. package/lib/extensible_events_v1/utilities.d.ts.map +1 -0
  260. package/lib/extensible_events_v1/utilities.js +34 -0
  261. package/lib/extensible_events_v1/utilities.js.map +1 -0
  262. package/lib/feature.d.ts +20 -0
  263. package/lib/feature.d.ts.map +1 -0
  264. package/lib/feature.js +89 -0
  265. package/lib/feature.js.map +1 -0
  266. package/lib/filter-component.d.ts +64 -0
  267. package/lib/filter-component.d.ts.map +1 -0
  268. package/lib/filter-component.js +170 -0
  269. package/lib/filter-component.js.map +1 -0
  270. package/lib/filter.d.ts +97 -0
  271. package/lib/filter.d.ts.map +1 -0
  272. package/lib/filter.js +207 -0
  273. package/lib/filter.js.map +1 -0
  274. package/lib/http-api/errors.d.ts +117 -0
  275. package/lib/http-api/errors.d.ts.map +1 -0
  276. package/lib/http-api/errors.js +245 -0
  277. package/lib/http-api/errors.js.map +1 -0
  278. package/lib/http-api/fetch.d.ts +80 -0
  279. package/lib/http-api/fetch.d.ts.map +1 -0
  280. package/lib/http-api/fetch.js +332 -0
  281. package/lib/http-api/fetch.js.map +1 -0
  282. package/lib/http-api/index.d.ts +33 -0
  283. package/lib/http-api/index.d.ts.map +1 -0
  284. package/lib/http-api/index.js +178 -0
  285. package/lib/http-api/index.js.map +1 -0
  286. package/lib/http-api/interface.d.ts +186 -0
  287. package/lib/http-api/interface.d.ts.map +1 -0
  288. package/lib/http-api/interface.js +39 -0
  289. package/lib/http-api/interface.js.map +1 -0
  290. package/lib/http-api/method.d.ts +10 -0
  291. package/lib/http-api/method.d.ts.map +1 -0
  292. package/lib/http-api/method.js +27 -0
  293. package/lib/http-api/method.js.map +1 -0
  294. package/lib/http-api/prefix.d.ts +31 -0
  295. package/lib/http-api/prefix.d.ts.map +1 -0
  296. package/lib/http-api/prefix.js +50 -0
  297. package/lib/http-api/prefix.js.map +1 -0
  298. package/lib/http-api/refresh.d.ts +53 -0
  299. package/lib/http-api/refresh.d.ts.map +1 -0
  300. package/lib/http-api/refresh.js +174 -0
  301. package/lib/http-api/refresh.js.map +1 -0
  302. package/lib/http-api/utils.d.ts +37 -0
  303. package/lib/http-api/utils.d.ts.map +1 -0
  304. package/lib/http-api/utils.js +182 -0
  305. package/lib/http-api/utils.js.map +1 -0
  306. package/lib/index.d.ts +4 -0
  307. package/lib/index.d.ts.map +1 -0
  308. package/lib/index.js +24 -0
  309. package/lib/index.js.map +1 -0
  310. package/lib/indexeddb-helpers.d.ts +10 -0
  311. package/lib/indexeddb-helpers.d.ts.map +1 -0
  312. package/lib/indexeddb-helpers.js +51 -0
  313. package/lib/indexeddb-helpers.js.map +1 -0
  314. package/lib/indexeddb-worker.d.ts +7 -0
  315. package/lib/indexeddb-worker.d.ts.map +1 -0
  316. package/lib/indexeddb-worker.js +25 -0
  317. package/lib/indexeddb-worker.js.map +1 -0
  318. package/lib/interactive-auth.d.ts +341 -0
  319. package/lib/interactive-auth.d.ts.map +1 -0
  320. package/lib/interactive-auth.js +563 -0
  321. package/lib/interactive-auth.js.map +1 -0
  322. package/lib/logger.d.ts +124 -0
  323. package/lib/logger.d.ts.map +1 -0
  324. package/lib/logger.js +230 -0
  325. package/lib/logger.js.map +1 -0
  326. package/lib/matrixrtc/CallMembership.d.ts +154 -0
  327. package/lib/matrixrtc/CallMembership.d.ts.map +1 -0
  328. package/lib/matrixrtc/CallMembership.js +469 -0
  329. package/lib/matrixrtc/CallMembership.js.map +1 -0
  330. package/lib/matrixrtc/EncryptionManager.d.ts +44 -0
  331. package/lib/matrixrtc/EncryptionManager.d.ts.map +1 -0
  332. package/lib/matrixrtc/EncryptionManager.js +13 -0
  333. package/lib/matrixrtc/EncryptionManager.js.map +1 -0
  334. package/lib/matrixrtc/IKeyTransport.d.ts +37 -0
  335. package/lib/matrixrtc/IKeyTransport.d.ts.map +1 -0
  336. package/lib/matrixrtc/IKeyTransport.js +27 -0
  337. package/lib/matrixrtc/IKeyTransport.js.map +1 -0
  338. package/lib/matrixrtc/IMembershipManager.d.ts +94 -0
  339. package/lib/matrixrtc/IMembershipManager.d.ts.map +1 -0
  340. package/lib/matrixrtc/IMembershipManager.js +40 -0
  341. package/lib/matrixrtc/IMembershipManager.js.map +1 -0
  342. package/lib/matrixrtc/LivekitTransport.d.ts +23 -0
  343. package/lib/matrixrtc/LivekitTransport.d.ts.map +1 -0
  344. package/lib/matrixrtc/LivekitTransport.js +29 -0
  345. package/lib/matrixrtc/LivekitTransport.js.map +1 -0
  346. package/lib/matrixrtc/MatrixRTCSession.d.ts +343 -0
  347. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -0
  348. package/lib/matrixrtc/MatrixRTCSession.js +623 -0
  349. package/lib/matrixrtc/MatrixRTCSession.js.map +1 -0
  350. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +46 -0
  351. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +1 -0
  352. package/lib/matrixrtc/MatrixRTCSessionManager.js +149 -0
  353. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -0
  354. package/lib/matrixrtc/MembershipManager.d.ts +210 -0
  355. package/lib/matrixrtc/MembershipManager.d.ts.map +1 -0
  356. package/lib/matrixrtc/MembershipManager.js +977 -0
  357. package/lib/matrixrtc/MembershipManager.js.map +1 -0
  358. package/lib/matrixrtc/MembershipManagerActionScheduler.d.ts +59 -0
  359. package/lib/matrixrtc/MembershipManagerActionScheduler.d.ts.map +1 -0
  360. package/lib/matrixrtc/MembershipManagerActionScheduler.js +125 -0
  361. package/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -0
  362. package/lib/matrixrtc/RTCEncryptionManager.d.ts +110 -0
  363. package/lib/matrixrtc/RTCEncryptionManager.d.ts.map +1 -0
  364. package/lib/matrixrtc/RTCEncryptionManager.js +376 -0
  365. package/lib/matrixrtc/RTCEncryptionManager.js.map +1 -0
  366. package/lib/matrixrtc/ToDeviceKeyTransport.d.ts +30 -0
  367. package/lib/matrixrtc/ToDeviceKeyTransport.d.ts.map +1 -0
  368. package/lib/matrixrtc/ToDeviceKeyTransport.js +164 -0
  369. package/lib/matrixrtc/ToDeviceKeyTransport.js.map +1 -0
  370. package/lib/matrixrtc/index.d.ts +9 -0
  371. package/lib/matrixrtc/index.d.ts.map +1 -0
  372. package/lib/matrixrtc/index.js +23 -0
  373. package/lib/matrixrtc/index.js.map +1 -0
  374. package/lib/matrixrtc/membershipData/common.d.ts +8 -0
  375. package/lib/matrixrtc/membershipData/common.d.ts.map +1 -0
  376. package/lib/matrixrtc/membershipData/common.js +26 -0
  377. package/lib/matrixrtc/membershipData/common.js.map +1 -0
  378. package/lib/matrixrtc/membershipData/index.d.ts +4 -0
  379. package/lib/matrixrtc/membershipData/index.d.ts.map +1 -0
  380. package/lib/matrixrtc/membershipData/index.js +20 -0
  381. package/lib/matrixrtc/membershipData/index.js.map +1 -0
  382. package/lib/matrixrtc/membershipData/rtc.d.ts +33 -0
  383. package/lib/matrixrtc/membershipData/rtc.d.ts.map +1 -0
  384. package/lib/matrixrtc/membershipData/rtc.js +137 -0
  385. package/lib/matrixrtc/membershipData/rtc.js.map +1 -0
  386. package/lib/matrixrtc/membershipData/session.d.ts +77 -0
  387. package/lib/matrixrtc/membershipData/session.d.ts.map +1 -0
  388. package/lib/matrixrtc/membershipData/session.js +62 -0
  389. package/lib/matrixrtc/membershipData/session.js.map +1 -0
  390. package/lib/matrixrtc/types.d.ts +169 -0
  391. package/lib/matrixrtc/types.d.ts.map +1 -0
  392. package/lib/matrixrtc/types.js +117 -0
  393. package/lib/matrixrtc/types.js.map +1 -0
  394. package/lib/matrixrtc/utils.d.ts +27 -0
  395. package/lib/matrixrtc/utils.d.ts.map +1 -0
  396. package/lib/matrixrtc/utils.js +72 -0
  397. package/lib/matrixrtc/utils.js.map +1 -0
  398. package/lib/models/MSC3089Branch.d.ts +98 -0
  399. package/lib/models/MSC3089Branch.d.ts.map +1 -0
  400. package/lib/models/MSC3089Branch.js +240 -0
  401. package/lib/models/MSC3089Branch.js.map +1 -0
  402. package/lib/models/MSC3089TreeSpace.d.ts +166 -0
  403. package/lib/models/MSC3089TreeSpace.d.ts.map +1 -0
  404. package/lib/models/MSC3089TreeSpace.js +521 -0
  405. package/lib/models/MSC3089TreeSpace.js.map +1 -0
  406. package/lib/models/ToDeviceMessage.d.ts +17 -0
  407. package/lib/models/ToDeviceMessage.d.ts.map +1 -0
  408. package/lib/models/ToDeviceMessage.js +1 -0
  409. package/lib/models/ToDeviceMessage.js.map +1 -0
  410. package/lib/models/beacon.d.ts +52 -0
  411. package/lib/models/beacon.d.ts.map +1 -0
  412. package/lib/models/beacon.js +174 -0
  413. package/lib/models/beacon.js.map +1 -0
  414. package/lib/models/compare-event-ordering.d.ts +24 -0
  415. package/lib/models/compare-event-ordering.d.ts.map +1 -0
  416. package/lib/models/compare-event-ordering.js +120 -0
  417. package/lib/models/compare-event-ordering.js.map +1 -0
  418. package/lib/models/device.d.ts +45 -0
  419. package/lib/models/device.d.ts.map +1 -0
  420. package/lib/models/device.js +77 -0
  421. package/lib/models/device.js.map +1 -0
  422. package/lib/models/event-context.d.ts +62 -0
  423. package/lib/models/event-context.d.ts.map +1 -0
  424. package/lib/models/event-context.js +113 -0
  425. package/lib/models/event-context.js.map +1 -0
  426. package/lib/models/event-status.d.ts +19 -0
  427. package/lib/models/event-status.d.ts.map +1 -0
  428. package/lib/models/event-status.js +36 -0
  429. package/lib/models/event-status.js.map +1 -0
  430. package/lib/models/event-timeline-set.d.ts +308 -0
  431. package/lib/models/event-timeline-set.d.ts.map +1 -0
  432. package/lib/models/event-timeline-set.js +805 -0
  433. package/lib/models/event-timeline-set.js.map +1 -0
  434. package/lib/models/event-timeline.d.ts +224 -0
  435. package/lib/models/event-timeline.d.ts.map +1 -0
  436. package/lib/models/event-timeline.js +434 -0
  437. package/lib/models/event-timeline.js.map +1 -0
  438. package/lib/models/event.d.ts +844 -0
  439. package/lib/models/event.d.ts.map +1 -0
  440. package/lib/models/event.js +1600 -0
  441. package/lib/models/event.js.map +1 -0
  442. package/lib/models/invites-ignorer-types.d.ts +27 -0
  443. package/lib/models/invites-ignorer-types.d.ts.map +1 -0
  444. package/lib/models/invites-ignorer-types.js +56 -0
  445. package/lib/models/invites-ignorer-types.js.map +1 -0
  446. package/lib/models/invites-ignorer.d.ts +112 -0
  447. package/lib/models/invites-ignorer.d.ts.map +1 -0
  448. package/lib/models/invites-ignorer.js +357 -0
  449. package/lib/models/invites-ignorer.js.map +1 -0
  450. package/lib/models/poll.d.ts +67 -0
  451. package/lib/models/poll.d.ts.map +1 -0
  452. package/lib/models/poll.js +241 -0
  453. package/lib/models/poll.js.map +1 -0
  454. package/lib/models/profile-keys.d.ts +17 -0
  455. package/lib/models/profile-keys.d.ts.map +1 -0
  456. package/lib/models/profile-keys.js +34 -0
  457. package/lib/models/profile-keys.js.map +1 -0
  458. package/lib/models/read-receipt.d.ts +115 -0
  459. package/lib/models/read-receipt.d.ts.map +1 -0
  460. package/lib/models/read-receipt.js +366 -0
  461. package/lib/models/read-receipt.js.map +1 -0
  462. package/lib/models/related-relations.d.ts +11 -0
  463. package/lib/models/related-relations.d.ts.map +1 -0
  464. package/lib/models/related-relations.js +33 -0
  465. package/lib/models/related-relations.js.map +1 -0
  466. package/lib/models/relations-container.d.ts +44 -0
  467. package/lib/models/relations-container.d.ts.map +1 -0
  468. package/lib/models/relations-container.js +132 -0
  469. package/lib/models/relations-container.js.map +1 -0
  470. package/lib/models/relations.d.ts +123 -0
  471. package/lib/models/relations.d.ts.map +1 -0
  472. package/lib/models/relations.js +378 -0
  473. package/lib/models/relations.js.map +1 -0
  474. package/lib/models/room-member.d.ts +221 -0
  475. package/lib/models/room-member.d.ts.map +1 -0
  476. package/lib/models/room-member.js +376 -0
  477. package/lib/models/room-member.js.map +1 -0
  478. package/lib/models/room-receipts.d.ts +39 -0
  479. package/lib/models/room-receipts.d.ts.map +1 -0
  480. package/lib/models/room-receipts.js +392 -0
  481. package/lib/models/room-receipts.js.map +1 -0
  482. package/lib/models/room-state.d.ts +463 -0
  483. package/lib/models/room-state.d.ts.map +1 -0
  484. package/lib/models/room-state.js +1066 -0
  485. package/lib/models/room-state.js.map +1 -0
  486. package/lib/models/room-sticky-events.d.ts +110 -0
  487. package/lib/models/room-sticky-events.d.ts.map +1 -0
  488. package/lib/models/room-sticky-events.js +353 -0
  489. package/lib/models/room-sticky-events.js.map +1 -0
  490. package/lib/models/room-summary.d.ts +59 -0
  491. package/lib/models/room-summary.d.ts.map +1 -0
  492. package/lib/models/room-summary.js +39 -0
  493. package/lib/models/room-summary.js.map +1 -0
  494. package/lib/models/room.d.ts +1285 -0
  495. package/lib/models/room.d.ts.map +1 -0
  496. package/lib/models/room.js +3548 -0
  497. package/lib/models/room.js.map +1 -0
  498. package/lib/models/search-result.d.ts +20 -0
  499. package/lib/models/search-result.d.ts.map +1 -0
  500. package/lib/models/search-result.js +52 -0
  501. package/lib/models/search-result.js.map +1 -0
  502. package/lib/models/thread.d.ts +245 -0
  503. package/lib/models/thread.d.ts.map +1 -0
  504. package/lib/models/thread.js +866 -0
  505. package/lib/models/thread.js.map +1 -0
  506. package/lib/models/typed-event-emitter.d.ts +157 -0
  507. package/lib/models/typed-event-emitter.d.ts.map +1 -0
  508. package/lib/models/typed-event-emitter.js +227 -0
  509. package/lib/models/typed-event-emitter.js.map +1 -0
  510. package/lib/models/user.d.ts +195 -0
  511. package/lib/models/user.d.ts.map +1 -0
  512. package/lib/models/user.js +218 -0
  513. package/lib/models/user.js.map +1 -0
  514. package/lib/oidc/authorize.d.ts +93 -0
  515. package/lib/oidc/authorize.d.ts.map +1 -0
  516. package/lib/oidc/authorize.js +282 -0
  517. package/lib/oidc/authorize.js.map +1 -0
  518. package/lib/oidc/discovery.d.ts +22 -0
  519. package/lib/oidc/discovery.d.ts.map +1 -0
  520. package/lib/oidc/discovery.js +78 -0
  521. package/lib/oidc/discovery.js.map +1 -0
  522. package/lib/oidc/error.d.ts +18 -0
  523. package/lib/oidc/error.d.ts.map +1 -0
  524. package/lib/oidc/error.js +35 -0
  525. package/lib/oidc/error.js.map +1 -0
  526. package/lib/oidc/index.d.ts +16 -0
  527. package/lib/oidc/index.d.ts.map +1 -0
  528. package/lib/oidc/index.js +29 -0
  529. package/lib/oidc/index.js.map +1 -0
  530. package/lib/oidc/register.d.ts +70 -0
  531. package/lib/oidc/register.d.ts.map +1 -0
  532. package/lib/oidc/register.js +135 -0
  533. package/lib/oidc/register.js.map +1 -0
  534. package/lib/oidc/tokenRefresher.d.ts +91 -0
  535. package/lib/oidc/tokenRefresher.d.ts.map +1 -0
  536. package/lib/oidc/tokenRefresher.js +187 -0
  537. package/lib/oidc/tokenRefresher.js.map +1 -0
  538. package/lib/oidc/validate.d.ts +78 -0
  539. package/lib/oidc/validate.d.ts.map +1 -0
  540. package/lib/oidc/validate.js +181 -0
  541. package/lib/oidc/validate.js.map +1 -0
  542. package/lib/pushprocessor.d.ts +140 -0
  543. package/lib/pushprocessor.d.ts.map +1 -0
  544. package/lib/pushprocessor.js +702 -0
  545. package/lib/pushprocessor.js.map +1 -0
  546. package/lib/randomstring.d.ts +32 -0
  547. package/lib/randomstring.d.ts.map +1 -0
  548. package/lib/randomstring.js +97 -0
  549. package/lib/randomstring.js.map +1 -0
  550. package/lib/realtime-callbacks.d.ts +18 -0
  551. package/lib/realtime-callbacks.d.ts.map +1 -0
  552. package/lib/realtime-callbacks.js +177 -0
  553. package/lib/realtime-callbacks.js.map +1 -0
  554. package/lib/receipt-accumulator.d.ts +51 -0
  555. package/lib/receipt-accumulator.d.ts.map +1 -0
  556. package/lib/receipt-accumulator.js +164 -0
  557. package/lib/receipt-accumulator.js.map +1 -0
  558. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +112 -0
  559. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +1 -0
  560. package/lib/rendezvous/MSC4108SignInWithQR.js +389 -0
  561. package/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -0
  562. package/lib/rendezvous/RendezvousChannel.d.ts +27 -0
  563. package/lib/rendezvous/RendezvousChannel.d.ts.map +1 -0
  564. package/lib/rendezvous/RendezvousChannel.js +1 -0
  565. package/lib/rendezvous/RendezvousChannel.js.map +1 -0
  566. package/lib/rendezvous/RendezvousCode.d.ts +9 -0
  567. package/lib/rendezvous/RendezvousCode.d.ts.map +1 -0
  568. package/lib/rendezvous/RendezvousCode.js +1 -0
  569. package/lib/rendezvous/RendezvousCode.js.map +1 -0
  570. package/lib/rendezvous/RendezvousError.d.ts +6 -0
  571. package/lib/rendezvous/RendezvousError.d.ts.map +1 -0
  572. package/lib/rendezvous/RendezvousError.js +23 -0
  573. package/lib/rendezvous/RendezvousError.js.map +1 -0
  574. package/lib/rendezvous/RendezvousFailureReason.d.ts +31 -0
  575. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +1 -0
  576. package/lib/rendezvous/RendezvousFailureReason.js +47 -0
  577. package/lib/rendezvous/RendezvousFailureReason.js.map +1 -0
  578. package/lib/rendezvous/RendezvousIntent.d.ts +5 -0
  579. package/lib/rendezvous/RendezvousIntent.d.ts.map +1 -0
  580. package/lib/rendezvous/RendezvousIntent.js +22 -0
  581. package/lib/rendezvous/RendezvousIntent.js.map +1 -0
  582. package/lib/rendezvous/RendezvousTransport.d.ts +36 -0
  583. package/lib/rendezvous/RendezvousTransport.d.ts.map +1 -0
  584. package/lib/rendezvous/RendezvousTransport.js +1 -0
  585. package/lib/rendezvous/RendezvousTransport.js.map +1 -0
  586. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +58 -0
  587. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +1 -0
  588. package/lib/rendezvous/channels/MSC4108SecureChannel.js +246 -0
  589. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -0
  590. package/lib/rendezvous/channels/index.d.ts +2 -0
  591. package/lib/rendezvous/channels/index.d.ts.map +1 -0
  592. package/lib/rendezvous/channels/index.js +18 -0
  593. package/lib/rendezvous/channels/index.js.map +1 -0
  594. package/lib/rendezvous/index.d.ts +10 -0
  595. package/lib/rendezvous/index.d.ts.map +1 -0
  596. package/lib/rendezvous/index.js +23 -0
  597. package/lib/rendezvous/index.js.map +1 -0
  598. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +61 -0
  599. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +1 -0
  600. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +254 -0
  601. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -0
  602. package/lib/rendezvous/transports/index.d.ts +2 -0
  603. package/lib/rendezvous/transports/index.d.ts.map +1 -0
  604. package/lib/rendezvous/transports/index.js +18 -0
  605. package/lib/rendezvous/transports/index.js.map +1 -0
  606. package/lib/room-hierarchy.d.ts +35 -0
  607. package/lib/room-hierarchy.d.ts.map +1 -0
  608. package/lib/room-hierarchy.js +136 -0
  609. package/lib/room-hierarchy.js.map +1 -0
  610. package/lib/rust-crypto/CrossSigningIdentity.d.ts +35 -0
  611. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +1 -0
  612. package/lib/rust-crypto/CrossSigningIdentity.js +163 -0
  613. package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -0
  614. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +118 -0
  615. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +1 -0
  616. package/lib/rust-crypto/DehydratedDeviceManager.js +361 -0
  617. package/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -0
  618. package/lib/rust-crypto/KeyClaimManager.d.ts +33 -0
  619. package/lib/rust-crypto/KeyClaimManager.d.ts.map +1 -0
  620. package/lib/rust-crypto/KeyClaimManager.js +82 -0
  621. package/lib/rust-crypto/KeyClaimManager.js.map +1 -0
  622. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +36 -0
  623. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +1 -0
  624. package/lib/rust-crypto/OutgoingRequestProcessor.js +194 -0
  625. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -0
  626. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +47 -0
  627. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +1 -0
  628. package/lib/rust-crypto/OutgoingRequestsManager.js +175 -0
  629. package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -0
  630. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +120 -0
  631. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +1 -0
  632. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +469 -0
  633. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -0
  634. package/lib/rust-crypto/RoomEncryptor.d.ts +100 -0
  635. package/lib/rust-crypto/RoomEncryptor.d.ts.map +1 -0
  636. package/lib/rust-crypto/RoomEncryptor.js +308 -0
  637. package/lib/rust-crypto/RoomEncryptor.js.map +1 -0
  638. package/lib/rust-crypto/backup.d.ts +278 -0
  639. package/lib/rust-crypto/backup.d.ts.map +1 -0
  640. package/lib/rust-crypto/backup.js +898 -0
  641. package/lib/rust-crypto/backup.js.map +1 -0
  642. package/lib/rust-crypto/constants.d.ts +3 -0
  643. package/lib/rust-crypto/constants.d.ts.map +1 -0
  644. package/lib/rust-crypto/constants.js +19 -0
  645. package/lib/rust-crypto/constants.js.map +1 -0
  646. package/lib/rust-crypto/device-converter.d.ts +28 -0
  647. package/lib/rust-crypto/device-converter.d.ts.map +1 -0
  648. package/lib/rust-crypto/device-converter.js +123 -0
  649. package/lib/rust-crypto/device-converter.js.map +1 -0
  650. package/lib/rust-crypto/index.d.ts +65 -0
  651. package/lib/rust-crypto/index.d.ts.map +1 -0
  652. package/lib/rust-crypto/index.js +149 -0
  653. package/lib/rust-crypto/index.js.map +1 -0
  654. package/lib/rust-crypto/libolm_migration.d.ts +81 -0
  655. package/lib/rust-crypto/libolm_migration.d.ts.map +1 -0
  656. package/lib/rust-crypto/libolm_migration.js +456 -0
  657. package/lib/rust-crypto/libolm_migration.js.map +1 -0
  658. package/lib/rust-crypto/rust-crypto.d.ts +576 -0
  659. package/lib/rust-crypto/rust-crypto.d.ts.map +1 -0
  660. package/lib/rust-crypto/rust-crypto.js +2324 -0
  661. package/lib/rust-crypto/rust-crypto.js.map +1 -0
  662. package/lib/rust-crypto/secret-storage.d.ts +22 -0
  663. package/lib/rust-crypto/secret-storage.d.ts.map +1 -0
  664. package/lib/rust-crypto/secret-storage.js +63 -0
  665. package/lib/rust-crypto/secret-storage.js.map +1 -0
  666. package/lib/rust-crypto/verification.d.ts +321 -0
  667. package/lib/rust-crypto/verification.d.ts.map +1 -0
  668. package/lib/rust-crypto/verification.js +817 -0
  669. package/lib/rust-crypto/verification.js.map +1 -0
  670. package/lib/scheduler.d.ts +132 -0
  671. package/lib/scheduler.d.ts.map +1 -0
  672. package/lib/scheduler.js +259 -0
  673. package/lib/scheduler.js.map +1 -0
  674. package/lib/secret-storage.d.ts +383 -0
  675. package/lib/secret-storage.d.ts.map +1 -0
  676. package/lib/secret-storage.js +487 -0
  677. package/lib/secret-storage.js.map +1 -0
  678. package/lib/serverCapabilities.d.ts +78 -0
  679. package/lib/serverCapabilities.d.ts.map +1 -0
  680. package/lib/serverCapabilities.js +104 -0
  681. package/lib/serverCapabilities.js.map +1 -0
  682. package/lib/service-types.d.ts +5 -0
  683. package/lib/service-types.d.ts.map +1 -0
  684. package/lib/service-types.js +23 -0
  685. package/lib/service-types.js.map +1 -0
  686. package/lib/sliding-sync-sdk.d.ts +107 -0
  687. package/lib/sliding-sync-sdk.d.ts.map +1 -0
  688. package/lib/sliding-sync-sdk.js +892 -0
  689. package/lib/sliding-sync-sdk.js.map +1 -0
  690. package/lib/sliding-sync.d.ts +306 -0
  691. package/lib/sliding-sync.d.ts.map +1 -0
  692. package/lib/sliding-sync.js +585 -0
  693. package/lib/sliding-sync.js.map +1 -0
  694. package/lib/store/index.d.ts +201 -0
  695. package/lib/store/index.d.ts.map +1 -0
  696. package/lib/store/index.js +1 -0
  697. package/lib/store/index.js.map +1 -0
  698. package/lib/store/indexeddb-backend.d.ts +24 -0
  699. package/lib/store/indexeddb-backend.d.ts.map +1 -0
  700. package/lib/store/indexeddb-backend.js +1 -0
  701. package/lib/store/indexeddb-backend.js.map +1 -0
  702. package/lib/store/indexeddb-local-backend.d.ts +129 -0
  703. package/lib/store/indexeddb-local-backend.d.ts.map +1 -0
  704. package/lib/store/indexeddb-local-backend.js +599 -0
  705. package/lib/store/indexeddb-local-backend.js.map +1 -0
  706. package/lib/store/indexeddb-remote-backend.d.ts +79 -0
  707. package/lib/store/indexeddb-remote-backend.d.ts.map +1 -0
  708. package/lib/store/indexeddb-remote-backend.js +209 -0
  709. package/lib/store/indexeddb-remote-backend.js.map +1 -0
  710. package/lib/store/indexeddb-store-worker.d.ts +35 -0
  711. package/lib/store/indexeddb-store-worker.d.ts.map +1 -0
  712. package/lib/store/indexeddb-store-worker.js +146 -0
  713. package/lib/store/indexeddb-store-worker.js.map +1 -0
  714. package/lib/store/indexeddb.d.ts +142 -0
  715. package/lib/store/indexeddb.d.ts.map +1 -0
  716. package/lib/store/indexeddb.js +347 -0
  717. package/lib/store/indexeddb.js.map +1 -0
  718. package/lib/store/local-storage-events-emitter.d.ts +30 -0
  719. package/lib/store/local-storage-events-emitter.d.ts.map +1 -0
  720. package/lib/store/local-storage-events-emitter.js +37 -0
  721. package/lib/store/local-storage-events-emitter.js.map +1 -0
  722. package/lib/store/memory.d.ts +209 -0
  723. package/lib/store/memory.d.ts.map +1 -0
  724. package/lib/store/memory.js +432 -0
  725. package/lib/store/memory.js.map +1 -0
  726. package/lib/store/stub.d.ts +161 -0
  727. package/lib/store/stub.d.ts.map +1 -0
  728. package/lib/store/stub.js +268 -0
  729. package/lib/store/stub.js.map +1 -0
  730. package/lib/sync-accumulator.d.ts +207 -0
  731. package/lib/sync-accumulator.d.ts.map +1 -0
  732. package/lib/sync-accumulator.js +588 -0
  733. package/lib/sync-accumulator.js.map +1 -0
  734. package/lib/sync.d.ts +273 -0
  735. package/lib/sync.d.ts.map +1 -0
  736. package/lib/sync.js +1764 -0
  737. package/lib/sync.js.map +1 -0
  738. package/lib/testing.d.ts +98 -0
  739. package/lib/testing.d.ts.map +1 -0
  740. package/lib/testing.js +205 -0
  741. package/lib/testing.js.map +1 -0
  742. package/lib/thread-utils.d.ts +10 -0
  743. package/lib/thread-utils.d.ts.map +1 -0
  744. package/lib/thread-utils.js +31 -0
  745. package/lib/thread-utils.js.map +1 -0
  746. package/lib/timeline-window.d.ts +168 -0
  747. package/lib/timeline-window.d.ts.map +1 -0
  748. package/lib/timeline-window.js +494 -0
  749. package/lib/timeline-window.js.map +1 -0
  750. package/lib/types.d.ts +33 -0
  751. package/lib/types.d.ts.map +1 -0
  752. package/lib/types.js +52 -0
  753. package/lib/types.js.map +1 -0
  754. package/lib/utils/decryptAESSecretStorageItem.d.ts +12 -0
  755. package/lib/utils/decryptAESSecretStorageItem.d.ts.map +1 -0
  756. package/lib/utils/decryptAESSecretStorageItem.js +50 -0
  757. package/lib/utils/decryptAESSecretStorageItem.js.map +1 -0
  758. package/lib/utils/encryptAESSecretStorageItem.d.ts +16 -0
  759. package/lib/utils/encryptAESSecretStorageItem.d.ts.map +1 -0
  760. package/lib/utils/encryptAESSecretStorageItem.js +68 -0
  761. package/lib/utils/encryptAESSecretStorageItem.js.map +1 -0
  762. package/lib/utils/internal/deriveKeys.d.ts +10 -0
  763. package/lib/utils/internal/deriveKeys.d.ts.map +1 -0
  764. package/lib/utils/internal/deriveKeys.js +60 -0
  765. package/lib/utils/internal/deriveKeys.js.map +1 -0
  766. package/lib/utils/roomVersion.d.ts +13 -0
  767. package/lib/utils/roomVersion.d.ts.map +1 -0
  768. package/lib/utils/roomVersion.js +36 -0
  769. package/lib/utils/roomVersion.js.map +1 -0
  770. package/lib/utils.d.ts +270 -0
  771. package/lib/utils.d.ts.map +1 -0
  772. package/lib/utils.js +764 -0
  773. package/lib/utils.js.map +1 -0
  774. package/lib/version-support.d.ts +19 -0
  775. package/lib/version-support.d.ts.map +1 -0
  776. package/lib/version-support.js +37 -0
  777. package/lib/version-support.js.map +1 -0
  778. package/lib/webrtc/audioContext.d.ts +15 -0
  779. package/lib/webrtc/audioContext.d.ts.map +1 -0
  780. package/lib/webrtc/audioContext.js +46 -0
  781. package/lib/webrtc/audioContext.js.map +1 -0
  782. package/lib/webrtc/call.d.ts +560 -0
  783. package/lib/webrtc/call.d.ts.map +1 -0
  784. package/lib/webrtc/call.js +2596 -0
  785. package/lib/webrtc/call.js.map +1 -0
  786. package/lib/webrtc/callEventHandler.d.ts +37 -0
  787. package/lib/webrtc/callEventHandler.d.ts.map +1 -0
  788. package/lib/webrtc/callEventHandler.js +344 -0
  789. package/lib/webrtc/callEventHandler.js.map +1 -0
  790. package/lib/webrtc/callEventTypes.d.ts +79 -0
  791. package/lib/webrtc/callEventTypes.d.ts.map +1 -0
  792. package/lib/webrtc/callEventTypes.js +13 -0
  793. package/lib/webrtc/callEventTypes.js.map +1 -0
  794. package/lib/webrtc/callFeed.d.ts +128 -0
  795. package/lib/webrtc/callFeed.d.ts.map +1 -0
  796. package/lib/webrtc/callFeed.js +289 -0
  797. package/lib/webrtc/callFeed.js.map +1 -0
  798. package/lib/webrtc/groupCall.d.ts +319 -0
  799. package/lib/webrtc/groupCall.d.ts.map +1 -0
  800. package/lib/webrtc/groupCall.js +1334 -0
  801. package/lib/webrtc/groupCall.js.map +1 -0
  802. package/lib/webrtc/groupCallEventHandler.d.ts +31 -0
  803. package/lib/webrtc/groupCallEventHandler.d.ts.map +1 -0
  804. package/lib/webrtc/groupCallEventHandler.js +178 -0
  805. package/lib/webrtc/groupCallEventHandler.js.map +1 -0
  806. package/lib/webrtc/mediaHandler.d.ts +89 -0
  807. package/lib/webrtc/mediaHandler.d.ts.map +1 -0
  808. package/lib/webrtc/mediaHandler.js +454 -0
  809. package/lib/webrtc/mediaHandler.js.map +1 -0
  810. package/lib/webrtc/stats/callFeedStatsReporter.d.ts +8 -0
  811. package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +1 -0
  812. package/lib/webrtc/stats/callFeedStatsReporter.js +79 -0
  813. package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -0
  814. package/lib/webrtc/stats/callStatsReportGatherer.d.ts +25 -0
  815. package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +1 -0
  816. package/lib/webrtc/stats/callStatsReportGatherer.js +199 -0
  817. package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -0
  818. package/lib/webrtc/stats/callStatsReportSummary.d.ts +17 -0
  819. package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +1 -0
  820. package/lib/webrtc/stats/callStatsReportSummary.js +1 -0
  821. package/lib/webrtc/stats/callStatsReportSummary.js.map +1 -0
  822. package/lib/webrtc/stats/connectionStats.d.ts +28 -0
  823. package/lib/webrtc/stats/connectionStats.d.ts.map +1 -0
  824. package/lib/webrtc/stats/connectionStats.js +26 -0
  825. package/lib/webrtc/stats/connectionStats.js.map +1 -0
  826. package/lib/webrtc/stats/connectionStatsBuilder.d.ts +5 -0
  827. package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +1 -0
  828. package/lib/webrtc/stats/connectionStatsBuilder.js +27 -0
  829. package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -0
  830. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +7 -0
  831. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +1 -0
  832. package/lib/webrtc/stats/connectionStatsReportBuilder.js +121 -0
  833. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -0
  834. package/lib/webrtc/stats/groupCallStats.d.ts +22 -0
  835. package/lib/webrtc/stats/groupCallStats.d.ts.map +1 -0
  836. package/lib/webrtc/stats/groupCallStats.js +78 -0
  837. package/lib/webrtc/stats/groupCallStats.js.map +1 -0
  838. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +10 -0
  839. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +1 -0
  840. package/lib/webrtc/stats/media/mediaSsrcHandler.js +57 -0
  841. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -0
  842. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +12 -0
  843. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +1 -0
  844. package/lib/webrtc/stats/media/mediaTrackHandler.js +58 -0
  845. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -0
  846. package/lib/webrtc/stats/media/mediaTrackStats.d.ts +86 -0
  847. package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +1 -0
  848. package/lib/webrtc/stats/media/mediaTrackStats.js +142 -0
  849. package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -0
  850. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +22 -0
  851. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +1 -0
  852. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +76 -0
  853. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -0
  854. package/lib/webrtc/stats/statsReport.d.ts +99 -0
  855. package/lib/webrtc/stats/statsReport.d.ts.map +1 -0
  856. package/lib/webrtc/stats/statsReport.js +32 -0
  857. package/lib/webrtc/stats/statsReport.js.map +1 -0
  858. package/lib/webrtc/stats/statsReportEmitter.d.ts +15 -0
  859. package/lib/webrtc/stats/statsReportEmitter.d.ts.map +1 -0
  860. package/lib/webrtc/stats/statsReportEmitter.js +33 -0
  861. package/lib/webrtc/stats/statsReportEmitter.js.map +1 -0
  862. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +16 -0
  863. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +1 -0
  864. package/lib/webrtc/stats/summaryStatsReportGatherer.js +116 -0
  865. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +1 -0
  866. package/lib/webrtc/stats/trackStatsBuilder.d.ts +19 -0
  867. package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +1 -0
  868. package/lib/webrtc/stats/trackStatsBuilder.js +168 -0
  869. package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -0
  870. package/lib/webrtc/stats/transportStats.d.ts +11 -0
  871. package/lib/webrtc/stats/transportStats.d.ts.map +1 -0
  872. package/lib/webrtc/stats/transportStats.js +1 -0
  873. package/lib/webrtc/stats/transportStats.js.map +1 -0
  874. package/lib/webrtc/stats/transportStatsBuilder.d.ts +5 -0
  875. package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +1 -0
  876. package/lib/webrtc/stats/transportStatsBuilder.js +34 -0
  877. package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -0
  878. package/lib/webrtc/stats/valueFormatter.d.ts +4 -0
  879. package/lib/webrtc/stats/valueFormatter.d.ts.map +1 -0
  880. package/lib/webrtc/stats/valueFormatter.js +25 -0
  881. package/lib/webrtc/stats/valueFormatter.js.map +1 -0
  882. package/package.json +129 -0
  883. package/src/@types/AESEncryptedSecretStoragePayload.ts +29 -0
  884. package/src/@types/IIdentityServerProvider.ts +24 -0
  885. package/src/@types/PushRules.ts +208 -0
  886. package/src/@types/another-json.d.ts +19 -0
  887. package/src/@types/auth.ts +258 -0
  888. package/src/@types/beacon.ts +140 -0
  889. package/src/@types/common.ts +24 -0
  890. package/src/@types/crypto.ts +71 -0
  891. package/src/@types/event.ts +449 -0
  892. package/src/@types/events.ts +119 -0
  893. package/src/@types/extensible_events.ts +147 -0
  894. package/src/@types/global.d.ts +67 -0
  895. package/src/@types/local_notifications.ts +19 -0
  896. package/src/@types/location.ts +92 -0
  897. package/src/@types/matrix-sdk-crypto-wasm.d.ts +39 -0
  898. package/src/@types/media.ts +245 -0
  899. package/src/@types/membership.ts +57 -0
  900. package/src/@types/partials.ts +103 -0
  901. package/src/@types/polls.ts +120 -0
  902. package/src/@types/read_receipts.ts +61 -0
  903. package/src/@types/registration.ts +102 -0
  904. package/src/@types/requests.ts +346 -0
  905. package/src/@types/search.ts +119 -0
  906. package/src/@types/signed.ts +25 -0
  907. package/src/@types/spaces.ts +37 -0
  908. package/src/@types/state_events.ts +153 -0
  909. package/src/@types/synapse.ts +40 -0
  910. package/src/@types/sync.ts +27 -0
  911. package/src/@types/threepids.ts +29 -0
  912. package/src/@types/topic.ts +69 -0
  913. package/src/@types/uia.ts +24 -0
  914. package/src/NamespacedValue.ts +121 -0
  915. package/src/ReEmitter.ts +93 -0
  916. package/src/ToDeviceMessageQueue.ts +156 -0
  917. package/src/autodiscovery.ts +505 -0
  918. package/src/base64.ts +86 -0
  919. package/src/briij.ts +173 -0
  920. package/src/browser-index.ts +44 -0
  921. package/src/client.ts +9031 -0
  922. package/src/common-crypto/CryptoBackend.ts +295 -0
  923. package/src/common-crypto/README.md +4 -0
  924. package/src/common-crypto/key-passphrase.ts +43 -0
  925. package/src/content-helpers.ts +298 -0
  926. package/src/content-repo.ts +122 -0
  927. package/src/crypto/store/base.ts +388 -0
  928. package/src/crypto/store/indexeddb-crypto-store-backend.ts +655 -0
  929. package/src/crypto/store/indexeddb-crypto-store.ts +555 -0
  930. package/src/crypto/store/localStorage-crypto-store.ts +409 -0
  931. package/src/crypto/store/memory-crypto-store.ts +326 -0
  932. package/src/crypto-api/CryptoEvent.ts +152 -0
  933. package/src/crypto-api/CryptoEventHandlerMap.ts +42 -0
  934. package/src/crypto-api/index.ts +1362 -0
  935. package/src/crypto-api/key-passphrase.ts +58 -0
  936. package/src/crypto-api/keybackup.ts +114 -0
  937. package/src/crypto-api/recovery-key.ts +69 -0
  938. package/src/crypto-api/verification.ts +382 -0
  939. package/src/digest.ts +34 -0
  940. package/src/embedded.ts +865 -0
  941. package/src/errors.ts +87 -0
  942. package/src/event-mapper.ts +88 -0
  943. package/src/extensible_events_v1/ExtensibleEvent.ts +58 -0
  944. package/src/extensible_events_v1/InvalidEventError.ts +24 -0
  945. package/src/extensible_events_v1/MessageEvent.ts +143 -0
  946. package/src/extensible_events_v1/PollEndEvent.ts +97 -0
  947. package/src/extensible_events_v1/PollResponseEvent.ts +148 -0
  948. package/src/extensible_events_v1/PollStartEvent.ts +207 -0
  949. package/src/extensible_events_v1/utilities.ts +35 -0
  950. package/src/feature.ts +88 -0
  951. package/src/filter-component.ts +209 -0
  952. package/src/filter.ts +245 -0
  953. package/src/http-api/errors.ts +261 -0
  954. package/src/http-api/fetch.ts +377 -0
  955. package/src/http-api/index.ts +194 -0
  956. package/src/http-api/interface.ts +229 -0
  957. package/src/http-api/method.ts +25 -0
  958. package/src/http-api/prefix.ts +48 -0
  959. package/src/http-api/refresh.ts +167 -0
  960. package/src/http-api/utils.ts +217 -0
  961. package/src/index.ts +25 -0
  962. package/src/indexeddb-helpers.ts +50 -0
  963. package/src/indexeddb-worker.ts +24 -0
  964. package/src/interactive-auth.ts +700 -0
  965. package/src/logger.ts +279 -0
  966. package/src/matrixrtc/CallMembership.ts +438 -0
  967. package/src/matrixrtc/EncryptionManager.ts +54 -0
  968. package/src/matrixrtc/IKeyTransport.ts +63 -0
  969. package/src/matrixrtc/IMembershipManager.ts +120 -0
  970. package/src/matrixrtc/LivekitTransport.ts +46 -0
  971. package/src/matrixrtc/MatrixRTCSession.ts +934 -0
  972. package/src/matrixrtc/MatrixRTCSessionManager.ts +170 -0
  973. package/src/matrixrtc/MembershipManager.ts +1122 -0
  974. package/src/matrixrtc/MembershipManagerActionScheduler.ts +135 -0
  975. package/src/matrixrtc/RTCEncryptionManager.ts +459 -0
  976. package/src/matrixrtc/ToDeviceKeyTransport.ts +197 -0
  977. package/src/matrixrtc/index.ts +24 -0
  978. package/src/matrixrtc/membershipData/common.ts +27 -0
  979. package/src/matrixrtc/membershipData/index.ts +19 -0
  980. package/src/matrixrtc/membershipData/rtc.ts +156 -0
  981. package/src/matrixrtc/membershipData/session.ts +146 -0
  982. package/src/matrixrtc/types.ts +227 -0
  983. package/src/matrixrtc/utils.ts +71 -0
  984. package/src/models/MSC3089Branch.ts +272 -0
  985. package/src/models/MSC3089TreeSpace.ts +565 -0
  986. package/src/models/ToDeviceMessage.ts +38 -0
  987. package/src/models/beacon.ts +213 -0
  988. package/src/models/compare-event-ordering.ts +139 -0
  989. package/src/models/device.ts +85 -0
  990. package/src/models/event-context.ts +110 -0
  991. package/src/models/event-status.ts +39 -0
  992. package/src/models/event-timeline-set.ts +962 -0
  993. package/src/models/event-timeline.ts +461 -0
  994. package/src/models/event.ts +1819 -0
  995. package/src/models/invites-ignorer-types.ts +58 -0
  996. package/src/models/invites-ignorer.ts +341 -0
  997. package/src/models/poll.ts +285 -0
  998. package/src/models/profile-keys.ts +33 -0
  999. package/src/models/read-receipt.ts +422 -0
  1000. package/src/models/related-relations.ts +39 -0
  1001. package/src/models/relations-container.ts +149 -0
  1002. package/src/models/relations.ts +392 -0
  1003. package/src/models/room-member.ts +486 -0
  1004. package/src/models/room-receipts.ts +439 -0
  1005. package/src/models/room-state.ts +1230 -0
  1006. package/src/models/room-sticky-events.ts +383 -0
  1007. package/src/models/room-summary.ts +78 -0
  1008. package/src/models/room.ts +4067 -0
  1009. package/src/models/search-result.ts +57 -0
  1010. package/src/models/thread.ts +928 -0
  1011. package/src/models/typed-event-emitter.ts +246 -0
  1012. package/src/models/user.ts +302 -0
  1013. package/src/oidc/authorize.ts +279 -0
  1014. package/src/oidc/discovery.ts +67 -0
  1015. package/src/oidc/error.ts +33 -0
  1016. package/src/oidc/index.ts +33 -0
  1017. package/src/oidc/register.ts +163 -0
  1018. package/src/oidc/tokenRefresher.ts +184 -0
  1019. package/src/oidc/validate.ts +265 -0
  1020. package/src/pushprocessor.ts +856 -0
  1021. package/src/randomstring.ts +103 -0
  1022. package/src/realtime-callbacks.ts +191 -0
  1023. package/src/receipt-accumulator.ts +189 -0
  1024. package/src/rendezvous/MSC4108SignInWithQR.ts +443 -0
  1025. package/src/rendezvous/RendezvousChannel.ts +48 -0
  1026. package/src/rendezvous/RendezvousCode.ts +25 -0
  1027. package/src/rendezvous/RendezvousError.ts +26 -0
  1028. package/src/rendezvous/RendezvousFailureReason.ts +49 -0
  1029. package/src/rendezvous/RendezvousIntent.ts +20 -0
  1030. package/src/rendezvous/RendezvousTransport.ts +58 -0
  1031. package/src/rendezvous/channels/MSC4108SecureChannel.ts +270 -0
  1032. package/src/rendezvous/channels/index.ts +17 -0
  1033. package/src/rendezvous/index.ts +25 -0
  1034. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +272 -0
  1035. package/src/rendezvous/transports/index.ts +17 -0
  1036. package/src/room-hierarchy.ts +152 -0
  1037. package/src/rust-crypto/CrossSigningIdentity.ts +195 -0
  1038. package/src/rust-crypto/DehydratedDeviceManager.ts +392 -0
  1039. package/src/rust-crypto/KeyClaimManager.ts +86 -0
  1040. package/src/rust-crypto/OutgoingRequestProcessor.ts +233 -0
  1041. package/src/rust-crypto/OutgoingRequestsManager.ts +170 -0
  1042. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +501 -0
  1043. package/src/rust-crypto/RoomEncryptor.ts +362 -0
  1044. package/src/rust-crypto/backup.ts +942 -0
  1045. package/src/rust-crypto/constants.ts +18 -0
  1046. package/src/rust-crypto/device-converter.ts +128 -0
  1047. package/src/rust-crypto/index.ts +251 -0
  1048. package/src/rust-crypto/libolm_migration.ts +532 -0
  1049. package/src/rust-crypto/rust-crypto.ts +2542 -0
  1050. package/src/rust-crypto/secret-storage.ts +60 -0
  1051. package/src/rust-crypto/verification.ts +833 -0
  1052. package/src/scheduler.ts +309 -0
  1053. package/src/secret-storage.ts +714 -0
  1054. package/src/serverCapabilities.ts +146 -0
  1055. package/src/service-types.ts +20 -0
  1056. package/src/sliding-sync-sdk.ts +1005 -0
  1057. package/src/sliding-sync.ts +674 -0
  1058. package/src/store/index.ts +261 -0
  1059. package/src/store/indexeddb-backend.ts +41 -0
  1060. package/src/store/indexeddb-local-backend.ts +610 -0
  1061. package/src/store/indexeddb-remote-backend.ts +212 -0
  1062. package/src/store/indexeddb-store-worker.ts +157 -0
  1063. package/src/store/indexeddb.ts +397 -0
  1064. package/src/store/local-storage-events-emitter.ts +46 -0
  1065. package/src/store/memory.ts +448 -0
  1066. package/src/store/stub.ts +280 -0
  1067. package/src/sync-accumulator.ts +779 -0
  1068. package/src/sync.ts +2020 -0
  1069. package/src/testing.ts +231 -0
  1070. package/src/thread-utils.ts +31 -0
  1071. package/src/timeline-window.ts +534 -0
  1072. package/src/types.ts +59 -0
  1073. package/src/utils/decryptAESSecretStorageItem.ts +54 -0
  1074. package/src/utils/encryptAESSecretStorageItem.ts +73 -0
  1075. package/src/utils/internal/deriveKeys.ts +63 -0
  1076. package/src/utils/roomVersion.ts +35 -0
  1077. package/src/utils.ts +775 -0
  1078. package/src/version-support.ts +50 -0
  1079. package/src/webrtc/audioContext.ts +44 -0
  1080. package/src/webrtc/call.ts +3061 -0
  1081. package/src/webrtc/callEventHandler.ts +425 -0
  1082. package/src/webrtc/callEventTypes.ts +101 -0
  1083. package/src/webrtc/callFeed.ts +364 -0
  1084. package/src/webrtc/groupCall.ts +1729 -0
  1085. package/src/webrtc/groupCallEventHandler.ts +234 -0
  1086. package/src/webrtc/mediaHandler.ts +501 -0
  1087. package/src/webrtc/stats/callFeedStatsReporter.ts +91 -0
  1088. package/src/webrtc/stats/callStatsReportGatherer.ts +219 -0
  1089. package/src/webrtc/stats/callStatsReportSummary.ts +30 -0
  1090. package/src/webrtc/stats/connectionStats.ts +47 -0
  1091. package/src/webrtc/stats/connectionStatsBuilder.ts +28 -0
  1092. package/src/webrtc/stats/connectionStatsReportBuilder.ts +140 -0
  1093. package/src/webrtc/stats/groupCallStats.ts +93 -0
  1094. package/src/webrtc/stats/media/mediaSsrcHandler.ts +57 -0
  1095. package/src/webrtc/stats/media/mediaTrackHandler.ts +70 -0
  1096. package/src/webrtc/stats/media/mediaTrackStats.ts +176 -0
  1097. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +90 -0
  1098. package/src/webrtc/stats/statsReport.ts +133 -0
  1099. package/src/webrtc/stats/statsReportEmitter.ts +49 -0
  1100. package/src/webrtc/stats/summaryStatsReportGatherer.ts +148 -0
  1101. package/src/webrtc/stats/trackStatsBuilder.ts +207 -0
  1102. package/src/webrtc/stats/transportStats.ts +26 -0
  1103. package/src/webrtc/stats/transportStatsBuilder.ts +48 -0
  1104. package/src/webrtc/stats/valueFormatter.ts +27 -0
@@ -0,0 +1,262 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ /*
5
+ Copyright 2018 - 2022 The Matrix.org Foundation C.I.C.
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ http://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ */
19
+
20
+ import { MsgType } from "./@types/event.js";
21
+ import { M_TEXT, REFERENCE_RELATION } from "./@types/extensible_events.js";
22
+ import { isProvided } from "./extensible_events_v1/utilities.js";
23
+ import { M_ASSET, LocationAssetType, M_LOCATION, M_TIMESTAMP } from "./@types/location.js";
24
+ import { M_TOPIC } from "./@types/topic.js";
25
+ /**
26
+ * Generates the content for a HTML Message event
27
+ * @param body - the plaintext body of the message
28
+ * @param htmlBody - the HTML representation of the message
29
+ * @returns
30
+ */
31
+ export function makeHtmlMessage(body, htmlBody) {
32
+ return {
33
+ msgtype: MsgType.Text,
34
+ format: "org.matrix.custom.html",
35
+ body: body,
36
+ formatted_body: htmlBody
37
+ };
38
+ }
39
+
40
+ /**
41
+ * Generates the content for a HTML Notice event
42
+ * @param body - the plaintext body of the notice
43
+ * @param htmlBody - the HTML representation of the notice
44
+ * @returns
45
+ */
46
+ export function makeHtmlNotice(body, htmlBody) {
47
+ return {
48
+ msgtype: MsgType.Notice,
49
+ format: "org.matrix.custom.html",
50
+ body: body,
51
+ formatted_body: htmlBody
52
+ };
53
+ }
54
+
55
+ /**
56
+ * Generates the content for a HTML Emote event
57
+ * @param body - the plaintext body of the emote
58
+ * @param htmlBody - the HTML representation of the emote
59
+ * @returns
60
+ */
61
+ export function makeHtmlEmote(body, htmlBody) {
62
+ return {
63
+ msgtype: MsgType.Emote,
64
+ format: "org.matrix.custom.html",
65
+ body: body,
66
+ formatted_body: htmlBody
67
+ };
68
+ }
69
+
70
+ /**
71
+ * Generates the content for a Plaintext Message event
72
+ * @param body - the plaintext body of the emote
73
+ * @returns
74
+ */
75
+ export function makeTextMessage(body) {
76
+ return {
77
+ msgtype: MsgType.Text,
78
+ body: body
79
+ };
80
+ }
81
+
82
+ /**
83
+ * Generates the content for a Plaintext Notice event
84
+ * @param body - the plaintext body of the notice
85
+ * @returns
86
+ */
87
+ export function makeNotice(body) {
88
+ return {
89
+ msgtype: MsgType.Notice,
90
+ body: body
91
+ };
92
+ }
93
+
94
+ /**
95
+ * Generates the content for a Plaintext Emote event
96
+ * @param body - the plaintext body of the emote
97
+ * @returns
98
+ */
99
+ export function makeEmoteMessage(body) {
100
+ return {
101
+ msgtype: MsgType.Emote,
102
+ body: body
103
+ };
104
+ }
105
+
106
+ /** Location content helpers */
107
+
108
+ export var getTextForLocationEvent = (uri, assetType, timestamp, description) => {
109
+ var date = "at ".concat(new Date(timestamp).toISOString());
110
+ var assetName = assetType === LocationAssetType.Self ? "User" : undefined;
111
+ var quotedDescription = description ? "\"".concat(description, "\"") : undefined;
112
+ return [assetName, "Location", quotedDescription, uri, date].filter(Boolean).join(" ");
113
+ };
114
+
115
+ /**
116
+ * Generates the content for a Location event
117
+ * @param uri - a geo:// uri for the location
118
+ * @param timestamp - the timestamp when the location was correct (milliseconds since the UNIX epoch)
119
+ * @param description - the (optional) label for this location on the map
120
+ * @param assetType - the (optional) asset type of this location e.g. "m.self"
121
+ * @param text - optional. A text for the location
122
+ */
123
+ export var makeLocationContent = (text, uri, timestamp, description, assetType) => {
124
+ var defaultedText = text !== null && text !== void 0 ? text : getTextForLocationEvent(uri, assetType || LocationAssetType.Self, timestamp, description);
125
+ var timestampEvent = timestamp ? {
126
+ [M_TIMESTAMP.name]: timestamp
127
+ } : {};
128
+ return _objectSpread({
129
+ msgtype: MsgType.Location,
130
+ body: defaultedText,
131
+ geo_uri: uri,
132
+ [M_LOCATION.name]: {
133
+ description,
134
+ uri
135
+ },
136
+ [M_ASSET.name]: {
137
+ type: assetType || LocationAssetType.Self
138
+ },
139
+ [M_TEXT.name]: defaultedText
140
+ }, timestampEvent);
141
+ };
142
+
143
+ /**
144
+ * Parse location event content and transform to
145
+ * a backwards compatible modern m.location event format
146
+ */
147
+ export var parseLocationEvent = wireEventContent => {
148
+ var _location$uri, _asset$type;
149
+ var location = M_LOCATION.findIn(wireEventContent);
150
+ var asset = M_ASSET.findIn(wireEventContent);
151
+ var timestamp = M_TIMESTAMP.findIn(wireEventContent);
152
+ var text = M_TEXT.findIn(wireEventContent);
153
+ var geoUri = (_location$uri = location === null || location === void 0 ? void 0 : location.uri) !== null && _location$uri !== void 0 ? _location$uri : wireEventContent === null || wireEventContent === void 0 ? void 0 : wireEventContent.geo_uri;
154
+ var description = location === null || location === void 0 ? void 0 : location.description;
155
+ var assetType = (_asset$type = asset === null || asset === void 0 ? void 0 : asset.type) !== null && _asset$type !== void 0 ? _asset$type : LocationAssetType.Self;
156
+ var fallbackText = text !== null && text !== void 0 ? text : wireEventContent.body;
157
+ return makeLocationContent(fallbackText, geoUri, timestamp !== null && timestamp !== void 0 ? timestamp : undefined, description, assetType);
158
+ };
159
+
160
+ /**
161
+ * Topic event helpers
162
+ */
163
+
164
+ export var makeTopicContent = (topic, htmlTopic) => {
165
+ var renderings = [];
166
+ // Put HTML first because clients will render the first type in
167
+ // the array that they understand
168
+ if (isProvided(htmlTopic)) {
169
+ renderings.push({
170
+ body: htmlTopic,
171
+ mimetype: "text/html"
172
+ });
173
+ }
174
+ if (isProvided(topic)) {
175
+ renderings.push({
176
+ body: topic,
177
+ mimetype: "text/plain"
178
+ });
179
+ }
180
+ return {
181
+ topic,
182
+ [M_TOPIC.name]: {
183
+ "m.text": renderings
184
+ }
185
+ };
186
+ };
187
+ export var parseTopicContent = content => {
188
+ var _ref, _mtopic$find$body, _mtopic$find, _mtopic$find2;
189
+ var mtopicParent = M_TOPIC.findIn(content);
190
+ var mtopic = Array.isArray(mtopicParent) ? mtopicParent : mtopicParent === null || mtopicParent === void 0 ? void 0 : mtopicParent["m.text"];
191
+ // TODO remove support for the old malformed m.topic arrays after a few releases (only allow array in m.text)
192
+ // https://github.com/matrix-org/matrix-js-sdk/pull/4984#pullrequestreview-3174251065
193
+ //const mtopic = M_TOPIC.findIn<MTopicContent>(content)?.["m.text"];
194
+ if (!Array.isArray(mtopic)) {
195
+ var _content$topic;
196
+ return {
197
+ text: (_content$topic = content.topic) !== null && _content$topic !== void 0 ? _content$topic : undefined
198
+ };
199
+ }
200
+ var text = (_ref = (_mtopic$find$body = mtopic === null || mtopic === void 0 || (_mtopic$find = mtopic.find(r => !isProvided(r.mimetype) || r.mimetype === "text/plain")) === null || _mtopic$find === void 0 ? void 0 : _mtopic$find.body) !== null && _mtopic$find$body !== void 0 ? _mtopic$find$body : content.topic) !== null && _ref !== void 0 ? _ref : undefined;
201
+ var html = mtopic === null || mtopic === void 0 || (_mtopic$find2 = mtopic.find(r => r.mimetype === "text/html")) === null || _mtopic$find2 === void 0 ? void 0 : _mtopic$find2.body;
202
+ return {
203
+ text,
204
+ html
205
+ };
206
+ };
207
+
208
+ /**
209
+ * Beacon event helpers
210
+ */
211
+
212
+ export var makeBeaconInfoContent = (timeout, isLive, description, assetType, timestamp) => ({
213
+ description,
214
+ timeout,
215
+ live: isLive,
216
+ [M_TIMESTAMP.name]: timestamp || Date.now(),
217
+ [M_ASSET.name]: {
218
+ type: assetType !== null && assetType !== void 0 ? assetType : LocationAssetType.Self
219
+ }
220
+ });
221
+ /**
222
+ * Flatten beacon info event content
223
+ */
224
+ export var parseBeaconInfoContent = content => {
225
+ var _M_TIMESTAMP$findIn;
226
+ var {
227
+ description,
228
+ timeout,
229
+ live
230
+ } = content;
231
+ var timestamp = (_M_TIMESTAMP$findIn = M_TIMESTAMP.findIn(content)) !== null && _M_TIMESTAMP$findIn !== void 0 ? _M_TIMESTAMP$findIn : undefined;
232
+ var asset = M_ASSET.findIn(content);
233
+ return {
234
+ description,
235
+ timeout,
236
+ live,
237
+ assetType: asset === null || asset === void 0 ? void 0 : asset.type,
238
+ timestamp
239
+ };
240
+ };
241
+ export var makeBeaconContent = (uri, timestamp, beaconInfoEventId, description) => ({
242
+ [M_LOCATION.name]: {
243
+ description,
244
+ uri
245
+ },
246
+ [M_TIMESTAMP.name]: timestamp,
247
+ "m.relates_to": {
248
+ rel_type: REFERENCE_RELATION.name,
249
+ event_id: beaconInfoEventId
250
+ }
251
+ });
252
+ export var parseBeaconContent = content => {
253
+ var _M_TIMESTAMP$findIn2;
254
+ var location = M_LOCATION.findIn(content);
255
+ var timestamp = (_M_TIMESTAMP$findIn2 = M_TIMESTAMP.findIn(content)) !== null && _M_TIMESTAMP$findIn2 !== void 0 ? _M_TIMESTAMP$findIn2 : undefined;
256
+ return {
257
+ description: location === null || location === void 0 ? void 0 : location.description,
258
+ uri: location === null || location === void 0 ? void 0 : location.uri,
259
+ timestamp
260
+ };
261
+ };
262
+ //# sourceMappingURL=content-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-helpers.js","names":["MsgType","M_TEXT","REFERENCE_RELATION","isProvided","M_ASSET","LocationAssetType","M_LOCATION","M_TIMESTAMP","M_TOPIC","makeHtmlMessage","body","htmlBody","msgtype","Text","format","formatted_body","makeHtmlNotice","Notice","makeHtmlEmote","Emote","makeTextMessage","makeNotice","makeEmoteMessage","getTextForLocationEvent","uri","assetType","timestamp","description","date","concat","Date","toISOString","assetName","Self","undefined","quotedDescription","filter","Boolean","join","makeLocationContent","text","defaultedText","timestampEvent","name","_objectSpread","Location","geo_uri","type","parseLocationEvent","wireEventContent","_location$uri","_asset$type","location","findIn","asset","geoUri","fallbackText","makeTopicContent","topic","htmlTopic","renderings","push","mimetype","parseTopicContent","content","_ref","_mtopic$find$body","_mtopic$find","_mtopic$find2","mtopicParent","mtopic","Array","isArray","_content$topic","find","r","html","makeBeaconInfoContent","timeout","isLive","live","now","parseBeaconInfoContent","_M_TIMESTAMP$findIn","makeBeaconContent","beaconInfoEventId","rel_type","event_id","parseBeaconContent","_M_TIMESTAMP$findIn2"],"sources":["../src/content-helpers.ts"],"sourcesContent":["/*\r\nCopyright 2018 - 2022 The Matrix.org Foundation C.I.C.\r\n\r\nLicensed under the Apache License, Version 2.0 (the \"License\");\r\nyou may not use this file except in compliance with the License.\r\nYou may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nUnless required by applicable law or agreed to in writing, software\r\ndistributed under the License is distributed on an \"AS IS\" BASIS,\r\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\nSee the License for the specific language governing permissions and\r\nlimitations under the License.\r\n*/\r\n\r\nimport { type MBeaconEventContent, type MBeaconInfoContent, type MBeaconInfoEventContent } from \"./@types/beacon.ts\";\r\nimport { MsgType } from \"./@types/event.ts\";\r\nimport { type IMessageRendering, M_TEXT, REFERENCE_RELATION } from \"./@types/extensible_events.ts\";\r\nimport { isProvided } from \"./extensible_events_v1/utilities.ts\";\r\nimport {\r\n M_ASSET,\r\n LocationAssetType,\r\n M_LOCATION,\r\n M_TIMESTAMP,\r\n type LocationEventWireContent,\r\n type MLocationEventContent,\r\n type MLocationContent,\r\n type MAssetContent,\r\n type LegacyLocationEventContent,\r\n} from \"./@types/location.ts\";\r\nimport { type MRoomTopicEventContent, type MTopicContent, M_TOPIC, type MTopicEvent } from \"./@types/topic.ts\";\r\nimport { type RoomMessageEventContent } from \"./@types/events.ts\";\r\n\r\n/**\r\n * Generates the content for a HTML Message event\r\n * @param body - the plaintext body of the message\r\n * @param htmlBody - the HTML representation of the message\r\n * @returns\r\n */\r\nexport function makeHtmlMessage(body: string, htmlBody: string): RoomMessageEventContent {\r\n return {\r\n msgtype: MsgType.Text,\r\n format: \"org.matrix.custom.html\",\r\n body: body,\r\n formatted_body: htmlBody,\r\n };\r\n}\r\n\r\n/**\r\n * Generates the content for a HTML Notice event\r\n * @param body - the plaintext body of the notice\r\n * @param htmlBody - the HTML representation of the notice\r\n * @returns\r\n */\r\nexport function makeHtmlNotice(body: string, htmlBody: string): RoomMessageEventContent {\r\n return {\r\n msgtype: MsgType.Notice,\r\n format: \"org.matrix.custom.html\",\r\n body: body,\r\n formatted_body: htmlBody,\r\n };\r\n}\r\n\r\n/**\r\n * Generates the content for a HTML Emote event\r\n * @param body - the plaintext body of the emote\r\n * @param htmlBody - the HTML representation of the emote\r\n * @returns\r\n */\r\nexport function makeHtmlEmote(body: string, htmlBody: string): RoomMessageEventContent {\r\n return {\r\n msgtype: MsgType.Emote,\r\n format: \"org.matrix.custom.html\",\r\n body: body,\r\n formatted_body: htmlBody,\r\n };\r\n}\r\n\r\n/**\r\n * Generates the content for a Plaintext Message event\r\n * @param body - the plaintext body of the emote\r\n * @returns\r\n */\r\nexport function makeTextMessage(body: string): RoomMessageEventContent {\r\n return {\r\n msgtype: MsgType.Text,\r\n body: body,\r\n };\r\n}\r\n\r\n/**\r\n * Generates the content for a Plaintext Notice event\r\n * @param body - the plaintext body of the notice\r\n * @returns\r\n */\r\nexport function makeNotice(body: string): RoomMessageEventContent {\r\n return {\r\n msgtype: MsgType.Notice,\r\n body: body,\r\n };\r\n}\r\n\r\n/**\r\n * Generates the content for a Plaintext Emote event\r\n * @param body - the plaintext body of the emote\r\n * @returns\r\n */\r\nexport function makeEmoteMessage(body: string): RoomMessageEventContent {\r\n return {\r\n msgtype: MsgType.Emote,\r\n body: body,\r\n };\r\n}\r\n\r\n/** Location content helpers */\r\n\r\nexport const getTextForLocationEvent = (\r\n uri: string | undefined,\r\n assetType: LocationAssetType,\r\n timestamp?: number,\r\n description?: string | null,\r\n): string => {\r\n const date = `at ${new Date(timestamp!).toISOString()}`;\r\n const assetName = assetType === LocationAssetType.Self ? \"User\" : undefined;\r\n const quotedDescription = description ? `\"${description}\"` : undefined;\r\n\r\n return [assetName, \"Location\", quotedDescription, uri, date].filter(Boolean).join(\" \");\r\n};\r\n\r\n/**\r\n * Generates the content for a Location event\r\n * @param uri - a geo:// uri for the location\r\n * @param timestamp - the timestamp when the location was correct (milliseconds since the UNIX epoch)\r\n * @param description - the (optional) label for this location on the map\r\n * @param assetType - the (optional) asset type of this location e.g. \"m.self\"\r\n * @param text - optional. A text for the location\r\n */\r\nexport const makeLocationContent = (\r\n // this is first but optional\r\n // to avoid a breaking change\r\n text?: string,\r\n uri?: string,\r\n timestamp?: number,\r\n description?: string | null,\r\n assetType?: LocationAssetType,\r\n): LegacyLocationEventContent & MLocationEventContent => {\r\n const defaultedText =\r\n text ?? getTextForLocationEvent(uri, assetType || LocationAssetType.Self, timestamp, description);\r\n const timestampEvent = timestamp ? { [M_TIMESTAMP.name]: timestamp } : {};\r\n return {\r\n msgtype: MsgType.Location,\r\n body: defaultedText,\r\n geo_uri: uri,\r\n [M_LOCATION.name]: {\r\n description,\r\n uri,\r\n },\r\n [M_ASSET.name]: {\r\n type: assetType || LocationAssetType.Self,\r\n },\r\n [M_TEXT.name]: defaultedText,\r\n ...timestampEvent,\r\n } as LegacyLocationEventContent & MLocationEventContent;\r\n};\r\n\r\n/**\r\n * Parse location event content and transform to\r\n * a backwards compatible modern m.location event format\r\n */\r\nexport const parseLocationEvent = (wireEventContent: LocationEventWireContent): MLocationEventContent => {\r\n const location = M_LOCATION.findIn<MLocationContent>(wireEventContent);\r\n const asset = M_ASSET.findIn<MAssetContent>(wireEventContent);\r\n const timestamp = M_TIMESTAMP.findIn<number>(wireEventContent);\r\n const text = M_TEXT.findIn<string>(wireEventContent);\r\n\r\n const geoUri = location?.uri ?? wireEventContent?.geo_uri;\r\n const description = location?.description;\r\n const assetType = asset?.type ?? LocationAssetType.Self;\r\n const fallbackText = text ?? wireEventContent.body;\r\n\r\n return makeLocationContent(fallbackText, geoUri, timestamp ?? undefined, description, assetType);\r\n};\r\n\r\n/**\r\n * Topic event helpers\r\n */\r\nexport type MakeTopicContent = (topic: string | null | undefined, htmlTopic?: string) => MRoomTopicEventContent;\r\n\r\nexport const makeTopicContent: MakeTopicContent = (topic, htmlTopic) => {\r\n const renderings = [];\r\n // Put HTML first because clients will render the first type in\r\n // the array that they understand\r\n if (isProvided(htmlTopic)) {\r\n renderings.push({ body: htmlTopic, mimetype: \"text/html\" });\r\n }\r\n if (isProvided(topic)) {\r\n renderings.push({ body: topic, mimetype: \"text/plain\" });\r\n }\r\n return { topic, [M_TOPIC.name]: { \"m.text\": renderings } };\r\n};\r\n\r\nexport type TopicState = {\r\n text?: string;\r\n html?: string;\r\n};\r\n\r\nexport const parseTopicContent = (content: MRoomTopicEventContent): TopicState => {\r\n const mtopicParent = M_TOPIC.findIn<MTopicContent | IMessageRendering[]>(content as MTopicEvent);\r\n const mtopic = Array.isArray(mtopicParent) ? mtopicParent : mtopicParent?.[\"m.text\"];\r\n // TODO remove support for the old malformed m.topic arrays after a few releases (only allow array in m.text)\r\n // https://github.com/matrix-org/matrix-js-sdk/pull/4984#pullrequestreview-3174251065\r\n //const mtopic = M_TOPIC.findIn<MTopicContent>(content)?.[\"m.text\"];\r\n if (!Array.isArray(mtopic)) {\r\n return { text: content.topic ?? undefined };\r\n }\r\n const text =\r\n mtopic?.find((r) => !isProvided(r.mimetype) || r.mimetype === \"text/plain\")?.body ?? content.topic ?? undefined;\r\n const html = mtopic?.find((r) => r.mimetype === \"text/html\")?.body;\r\n return { text, html };\r\n};\r\n\r\n/**\r\n * Beacon event helpers\r\n */\r\nexport type MakeBeaconInfoContent = (\r\n timeout: number,\r\n isLive?: boolean,\r\n description?: string,\r\n assetType?: LocationAssetType,\r\n timestamp?: number,\r\n) => MBeaconInfoEventContent;\r\n\r\nexport const makeBeaconInfoContent: MakeBeaconInfoContent = (timeout, isLive, description, assetType, timestamp) => ({\r\n description,\r\n timeout,\r\n live: isLive,\r\n [M_TIMESTAMP.name]: timestamp || Date.now(),\r\n [M_ASSET.name]: {\r\n type: assetType ?? LocationAssetType.Self,\r\n },\r\n});\r\n\r\nexport type BeaconInfoState = MBeaconInfoContent & {\r\n assetType?: LocationAssetType;\r\n timestamp?: number;\r\n};\r\n/**\r\n * Flatten beacon info event content\r\n */\r\nexport const parseBeaconInfoContent = (content: MBeaconInfoEventContent): BeaconInfoState => {\r\n const { description, timeout, live } = content;\r\n const timestamp = M_TIMESTAMP.findIn<number>(content) ?? undefined;\r\n const asset = M_ASSET.findIn<MAssetContent>(content);\r\n\r\n return {\r\n description,\r\n timeout,\r\n live,\r\n assetType: asset?.type,\r\n timestamp,\r\n };\r\n};\r\n\r\nexport type MakeBeaconContent = (\r\n uri: string,\r\n timestamp: number,\r\n beaconInfoEventId: string,\r\n description?: string,\r\n) => MBeaconEventContent;\r\n\r\nexport const makeBeaconContent: MakeBeaconContent = (uri, timestamp, beaconInfoEventId, description) => ({\r\n [M_LOCATION.name]: {\r\n description,\r\n uri,\r\n },\r\n [M_TIMESTAMP.name]: timestamp,\r\n \"m.relates_to\": {\r\n rel_type: REFERENCE_RELATION.name,\r\n event_id: beaconInfoEventId,\r\n },\r\n});\r\n\r\nexport type BeaconLocationState = Omit<MLocationContent, \"uri\"> & {\r\n uri?: string; // override from MLocationContent to allow optionals\r\n timestamp?: number;\r\n};\r\n\r\nexport const parseBeaconContent = (content: MBeaconEventContent): BeaconLocationState => {\r\n const location = M_LOCATION.findIn<MLocationContent>(content);\r\n const timestamp = M_TIMESTAMP.findIn<number>(content) ?? undefined;\r\n\r\n return {\r\n description: location?.description,\r\n uri: location?.uri,\r\n timestamp,\r\n };\r\n};\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Get the HTTP URL for an MXC URI.
3
+ * @param baseUrl - The base homeserver url which has a content repo.
4
+ * @param mxc - The mxc:// URI.
5
+ * @param width - The desired width of the thumbnail.
6
+ * @param height - The desired height of the thumbnail.
7
+ * @param resizeMethod - The thumbnail resize method to use, either
8
+ * "crop" or "scale".
9
+ * @param allowDirectLinks - If true, return any non-mxc URLs
10
+ * directly. Fetching such URLs will leak information about the user to
11
+ * anyone they share a room with. If false, will return the emptry string
12
+ * for such URLs.
13
+ * @param allowRedirects - If true, the caller supports the URL being 307 or
14
+ * 308 redirected to another resource upon request. If false, redirects
15
+ * are not expected. Implied `true` when `useAuthentication` is `true`.
16
+ * @param useAuthentication - If true, the caller supports authenticated
17
+ * media and wants an authentication-required URL. Note that server support
18
+ * for authenticated media will *not* be checked - it is the caller's responsibility
19
+ * to do so before calling this function. Note also that `useAuthentication`
20
+ * implies `allowRedirects`. Defaults to false (unauthenticated endpoints).
21
+ * @param animated - Whether the desired thumbnail should be animated.
22
+ * @returns The complete URL to the content, may be an empty string if the provided mxc is not valid.
23
+ */
24
+ export declare function getHttpUriForMxc(baseUrl: string, mxc?: string, width?: number, height?: number, resizeMethod?: string, allowDirectLinks?: boolean, allowRedirects?: boolean, useAuthentication?: boolean, animated?: boolean): string;
25
+ //# sourceMappingURL=content-repo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-repo.d.ts","sourceRoot":"","sources":["../src/content-repo.ts"],"names":[],"mappings":"AAiCA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,gBAAgB,UAAQ,EACxB,cAAc,CAAC,EAAE,OAAO,EACxB,iBAAiB,CAAC,EAAE,OAAO,EAC3B,QAAQ,CAAC,EAAE,OAAO,GACnB,MAAM,CAuDR"}
@@ -0,0 +1,109 @@
1
+ /*
2
+ Copyright 2015 - 2024 The Matrix.org Foundation C.I.C.
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ */
16
+
17
+ // Validation based on https://spec.matrix.org/v1.12/appendices/#server-name
18
+ // We do not use the validation described in https://spec.matrix.org/v1.12/client-server-api/#security-considerations-5
19
+ // as it'd wrongly make all MXCs invalid due to not allowing `[].:` in server names.
20
+ var serverNameRegex = /^(?:(?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|(?:\[[\dA-Fa-f:.]{2,45}])|(?:[A-Za-z\d\-.]{1,255}))(?::\d{1,5})?$/;
21
+ function validateServerName(serverName) {
22
+ var matches = serverNameRegex.exec(serverName);
23
+ return (matches === null || matches === void 0 ? void 0 : matches[0]) === serverName;
24
+ }
25
+
26
+ // Validation based on https://spec.matrix.org/v1.12/client-server-api/#security-considerations-5
27
+ var mediaIdRegex = /^[\w-]+$/;
28
+ function validateMediaId(mediaId) {
29
+ var matches = mediaIdRegex.exec(mediaId);
30
+ return (matches === null || matches === void 0 ? void 0 : matches[0]) === mediaId;
31
+ }
32
+
33
+ /**
34
+ * Get the HTTP URL for an MXC URI.
35
+ * @param baseUrl - The base homeserver url which has a content repo.
36
+ * @param mxc - The mxc:// URI.
37
+ * @param width - The desired width of the thumbnail.
38
+ * @param height - The desired height of the thumbnail.
39
+ * @param resizeMethod - The thumbnail resize method to use, either
40
+ * "crop" or "scale".
41
+ * @param allowDirectLinks - If true, return any non-mxc URLs
42
+ * directly. Fetching such URLs will leak information about the user to
43
+ * anyone they share a room with. If false, will return the emptry string
44
+ * for such URLs.
45
+ * @param allowRedirects - If true, the caller supports the URL being 307 or
46
+ * 308 redirected to another resource upon request. If false, redirects
47
+ * are not expected. Implied `true` when `useAuthentication` is `true`.
48
+ * @param useAuthentication - If true, the caller supports authenticated
49
+ * media and wants an authentication-required URL. Note that server support
50
+ * for authenticated media will *not* be checked - it is the caller's responsibility
51
+ * to do so before calling this function. Note also that `useAuthentication`
52
+ * implies `allowRedirects`. Defaults to false (unauthenticated endpoints).
53
+ * @param animated - Whether the desired thumbnail should be animated.
54
+ * @returns The complete URL to the content, may be an empty string if the provided mxc is not valid.
55
+ */
56
+ export function getHttpUriForMxc(baseUrl, mxc, width, height, resizeMethod) {
57
+ var allowDirectLinks = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
58
+ var allowRedirects = arguments.length > 6 ? arguments[6] : undefined;
59
+ var useAuthentication = arguments.length > 7 ? arguments[7] : undefined;
60
+ var animated = arguments.length > 8 ? arguments[8] : undefined;
61
+ if (typeof mxc !== "string" || !mxc) {
62
+ return "";
63
+ }
64
+ if (!mxc.startsWith("mxc://")) {
65
+ if (allowDirectLinks) {
66
+ return mxc;
67
+ } else {
68
+ return "";
69
+ }
70
+ }
71
+ var [serverName, mediaId, ...rest] = mxc.slice(6).split("/");
72
+ if (rest.length > 0 || !validateServerName(serverName) || !validateMediaId(mediaId)) {
73
+ return "";
74
+ }
75
+ if (useAuthentication) {
76
+ allowRedirects = true; // per docs (MSC3916 always expects redirects)
77
+
78
+ // Dev note: MSC3916 removes `allow_redirect` entirely, but
79
+ // for explicitness we set it here. This makes it slightly more obvious to
80
+ // callers, hopefully.
81
+ }
82
+ var prefix;
83
+ var isThumbnailRequest = !!width || !!height || !!resizeMethod;
84
+ var verb = isThumbnailRequest ? "thumbnail" : "download";
85
+ if (useAuthentication) {
86
+ prefix = "/_matrix/client/v1/media/".concat(verb);
87
+ } else {
88
+ prefix = "/_matrix/media/v3/".concat(verb);
89
+ }
90
+ var url = new URL("".concat(prefix, "/").concat(serverName, "/").concat(mediaId), baseUrl);
91
+ if (width) {
92
+ url.searchParams.set("width", Math.round(width).toString());
93
+ }
94
+ if (height) {
95
+ url.searchParams.set("height", Math.round(height).toString());
96
+ }
97
+ if (resizeMethod) {
98
+ url.searchParams.set("method", resizeMethod);
99
+ }
100
+ if (animated !== undefined) {
101
+ url.searchParams.set("animated", String(animated));
102
+ }
103
+ if (typeof allowRedirects === "boolean") {
104
+ // We add this after, so we don't convert everything to a thumbnail request.
105
+ url.searchParams.set("allow_redirect", JSON.stringify(allowRedirects));
106
+ }
107
+ return url.href;
108
+ }
109
+ //# sourceMappingURL=content-repo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-repo.js","names":["serverNameRegex","validateServerName","serverName","matches","exec","mediaIdRegex","validateMediaId","mediaId","getHttpUriForMxc","baseUrl","mxc","width","height","resizeMethod","allowDirectLinks","arguments","length","undefined","allowRedirects","useAuthentication","animated","startsWith","rest","slice","split","prefix","isThumbnailRequest","verb","concat","url","URL","searchParams","set","Math","round","toString","String","JSON","stringify","href"],"sources":["../src/content-repo.ts"],"sourcesContent":["/*\r\nCopyright 2015 - 2024 The Matrix.org Foundation C.I.C.\r\n\r\nLicensed under the Apache License, Version 2.0 (the \"License\");\r\nyou may not use this file except in compliance with the License.\r\nYou may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nUnless required by applicable law or agreed to in writing, software\r\ndistributed under the License is distributed on an \"AS IS\" BASIS,\r\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\nSee the License for the specific language governing permissions and\r\nlimitations under the License.\r\n*/\r\n\r\n// Validation based on https://spec.matrix.org/v1.12/appendices/#server-name\r\n// We do not use the validation described in https://spec.matrix.org/v1.12/client-server-api/#security-considerations-5\r\n// as it'd wrongly make all MXCs invalid due to not allowing `[].:` in server names.\r\nconst serverNameRegex =\r\n /^(?:(?:\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})|(?:\\[[\\dA-Fa-f:.]{2,45}])|(?:[A-Za-z\\d\\-.]{1,255}))(?::\\d{1,5})?$/;\r\nfunction validateServerName(serverName: string): boolean {\r\n const matches = serverNameRegex.exec(serverName);\r\n return matches?.[0] === serverName;\r\n}\r\n\r\n// Validation based on https://spec.matrix.org/v1.12/client-server-api/#security-considerations-5\r\nconst mediaIdRegex = /^[\\w-]+$/;\r\nfunction validateMediaId(mediaId: string): boolean {\r\n const matches = mediaIdRegex.exec(mediaId);\r\n return matches?.[0] === mediaId;\r\n}\r\n\r\n/**\r\n * Get the HTTP URL for an MXC URI.\r\n * @param baseUrl - The base homeserver url which has a content repo.\r\n * @param mxc - The mxc:// URI.\r\n * @param width - The desired width of the thumbnail.\r\n * @param height - The desired height of the thumbnail.\r\n * @param resizeMethod - The thumbnail resize method to use, either\r\n * \"crop\" or \"scale\".\r\n * @param allowDirectLinks - If true, return any non-mxc URLs\r\n * directly. Fetching such URLs will leak information about the user to\r\n * anyone they share a room with. If false, will return the emptry string\r\n * for such URLs.\r\n * @param allowRedirects - If true, the caller supports the URL being 307 or\r\n * 308 redirected to another resource upon request. If false, redirects\r\n * are not expected. Implied `true` when `useAuthentication` is `true`.\r\n * @param useAuthentication - If true, the caller supports authenticated\r\n * media and wants an authentication-required URL. Note that server support\r\n * for authenticated media will *not* be checked - it is the caller's responsibility\r\n * to do so before calling this function. Note also that `useAuthentication`\r\n * implies `allowRedirects`. Defaults to false (unauthenticated endpoints).\r\n * @param animated - Whether the desired thumbnail should be animated.\r\n * @returns The complete URL to the content, may be an empty string if the provided mxc is not valid.\r\n */\r\nexport function getHttpUriForMxc(\r\n baseUrl: string,\r\n mxc?: string,\r\n width?: number,\r\n height?: number,\r\n resizeMethod?: string,\r\n allowDirectLinks = false,\r\n allowRedirects?: boolean,\r\n useAuthentication?: boolean,\r\n animated?: boolean,\r\n): string {\r\n if (typeof mxc !== \"string\" || !mxc) {\r\n return \"\";\r\n }\r\n if (!mxc.startsWith(\"mxc://\")) {\r\n if (allowDirectLinks) {\r\n return mxc;\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n\r\n const [serverName, mediaId, ...rest] = mxc.slice(6).split(\"/\");\r\n if (rest.length > 0 || !validateServerName(serverName) || !validateMediaId(mediaId)) {\r\n return \"\";\r\n }\r\n\r\n if (useAuthentication) {\r\n allowRedirects = true; // per docs (MSC3916 always expects redirects)\r\n\r\n // Dev note: MSC3916 removes `allow_redirect` entirely, but\r\n // for explicitness we set it here. This makes it slightly more obvious to\r\n // callers, hopefully.\r\n }\r\n\r\n let prefix: string;\r\n const isThumbnailRequest = !!width || !!height || !!resizeMethod;\r\n const verb = isThumbnailRequest ? \"thumbnail\" : \"download\";\r\n if (useAuthentication) {\r\n prefix = `/_matrix/client/v1/media/${verb}`;\r\n } else {\r\n prefix = `/_matrix/media/v3/${verb}`;\r\n }\r\n\r\n const url = new URL(`${prefix}/${serverName}/${mediaId}`, baseUrl);\r\n\r\n if (width) {\r\n url.searchParams.set(\"width\", Math.round(width).toString());\r\n }\r\n if (height) {\r\n url.searchParams.set(\"height\", Math.round(height).toString());\r\n }\r\n if (resizeMethod) {\r\n url.searchParams.set(\"method\", resizeMethod);\r\n }\r\n if (animated !== undefined) {\r\n url.searchParams.set(\"animated\", String(animated));\r\n }\r\n\r\n if (typeof allowRedirects === \"boolean\") {\r\n // We add this after, so we don't convert everything to a thumbnail request.\r\n url.searchParams.set(\"allow_redirect\", JSON.stringify(allowRedirects));\r\n }\r\n\r\n return url.href;\r\n}\r\n"],"mappings":"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","ignoreList":[]}