@textrp/briij-js-sdk 41.0.1 → 43.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 (380) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/LICENSE +177 -177
  3. package/README.md +85 -3
  4. package/lib/@types/AESEncryptedSecretStoragePayload.js.map +1 -1
  5. package/lib/@types/IIdentityServerProvider.js.map +1 -1
  6. package/lib/@types/PushRules.js +14 -14
  7. package/lib/@types/PushRules.js.map +1 -1
  8. package/lib/@types/another-json.d.js.map +1 -1
  9. package/lib/@types/auth.d.ts +72 -1
  10. package/lib/@types/auth.d.ts.map +1 -1
  11. package/lib/@types/auth.js +57 -54
  12. package/lib/@types/auth.js.map +1 -1
  13. package/lib/@types/beacon.js +100 -100
  14. package/lib/@types/beacon.js.map +1 -1
  15. package/lib/@types/common.js.map +1 -1
  16. package/lib/@types/crypto.js.map +1 -1
  17. package/lib/@types/event.d.ts +59 -0
  18. package/lib/@types/event.d.ts.map +1 -1
  19. package/lib/@types/event.js +105 -102
  20. package/lib/@types/event.js.map +1 -1
  21. package/lib/@types/events.js.map +1 -1
  22. package/lib/@types/extensible_events.js +53 -53
  23. package/lib/@types/extensible_events.js.map +1 -1
  24. package/lib/@types/local_notifications.js.map +1 -1
  25. package/lib/@types/location.js +41 -41
  26. package/lib/@types/location.js.map +1 -1
  27. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -1
  28. package/lib/@types/media.js.map +1 -1
  29. package/lib/@types/membership.js +39 -39
  30. package/lib/@types/membership.js.map +1 -1
  31. package/lib/@types/partials.js +25 -25
  32. package/lib/@types/partials.js.map +1 -1
  33. package/lib/@types/polls.js +46 -46
  34. package/lib/@types/polls.js.map +1 -1
  35. package/lib/@types/read_receipts.js +14 -14
  36. package/lib/@types/read_receipts.js.map +1 -1
  37. package/lib/@types/registration.js.map +1 -1
  38. package/lib/@types/search.js +14 -14
  39. package/lib/@types/search.js.map +1 -1
  40. package/lib/@types/signed.js.map +1 -1
  41. package/lib/@types/spaces.js.map +1 -1
  42. package/lib/@types/state_events.js.map +1 -1
  43. package/lib/@types/synapse.js.map +1 -1
  44. package/lib/@types/sync.js +18 -18
  45. package/lib/@types/sync.js.map +1 -1
  46. package/lib/@types/threepids.js +14 -14
  47. package/lib/@types/threepids.js.map +1 -1
  48. package/lib/@types/topic.js +47 -47
  49. package/lib/@types/topic.js.map +1 -1
  50. package/lib/@types/uia.js.map +1 -1
  51. package/lib/NamespacedValue.js +20 -20
  52. package/lib/NamespacedValue.js.map +1 -1
  53. package/lib/ReEmitter.js +16 -16
  54. package/lib/ReEmitter.js.map +1 -1
  55. package/lib/base64.js +32 -32
  56. package/lib/base64.js.map +1 -1
  57. package/lib/briij.d.ts +4 -0
  58. package/lib/briij.d.ts.map +1 -1
  59. package/lib/briij.js +4 -0
  60. package/lib/briij.js.map +1 -1
  61. package/lib/client.d.ts +48 -1
  62. package/lib/client.d.ts.map +1 -1
  63. package/lib/client.js +262 -108
  64. package/lib/client.js.map +1 -1
  65. package/lib/common-crypto/key-passphrase.js +19 -19
  66. package/lib/common-crypto/key-passphrase.js.map +1 -1
  67. package/lib/content-helpers.js +57 -57
  68. package/lib/content-helpers.js.map +1 -1
  69. package/lib/content-repo.js +36 -36
  70. package/lib/content-repo.js.map +1 -1
  71. package/lib/crypto/store/base.js +69 -69
  72. package/lib/crypto/store/base.js.map +1 -1
  73. package/lib/crypto/store/indexeddb-crypto-store-backend.js +58 -58
  74. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -1
  75. package/lib/crypto/store/indexeddb-crypto-store.js +193 -193
  76. package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -1
  77. package/lib/crypto/store/localStorage-crypto-store.js +72 -72
  78. package/lib/crypto/store/localStorage-crypto-store.js.map +1 -1
  79. package/lib/crypto/store/memory-crypto-store.js +74 -74
  80. package/lib/crypto/store/memory-crypto-store.js.map +1 -1
  81. package/lib/crypto-api/CryptoEventHandlerMap.js.map +1 -1
  82. package/lib/crypto-api/key-passphrase.js +22 -22
  83. package/lib/crypto-api/key-passphrase.js.map +1 -1
  84. package/lib/crypto-api/keybackup.js.map +1 -1
  85. package/lib/crypto-api/recovery-key.js +20 -20
  86. package/lib/crypto-api/recovery-key.js.map +1 -1
  87. package/lib/digest.js +21 -21
  88. package/lib/digest.js.map +1 -1
  89. package/lib/extensible_events_v1/ExtensibleEvent.js +39 -39
  90. package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -1
  91. package/lib/extensible_events_v1/InvalidEventError.js +16 -16
  92. package/lib/extensible_events_v1/InvalidEventError.js.map +1 -1
  93. package/lib/extensible_events_v1/MessageEvent.js +39 -39
  94. package/lib/extensible_events_v1/MessageEvent.js.map +1 -1
  95. package/lib/extensible_events_v1/PollEndEvent.js +29 -29
  96. package/lib/extensible_events_v1/PollEndEvent.js.map +1 -1
  97. package/lib/extensible_events_v1/PollResponseEvent.js +39 -39
  98. package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -1
  99. package/lib/extensible_events_v1/PollStartEvent.js +52 -52
  100. package/lib/extensible_events_v1/PollStartEvent.js.map +1 -1
  101. package/lib/extensible_events_v1/utilities.js +22 -22
  102. package/lib/extensible_events_v1/utilities.js.map +1 -1
  103. package/lib/feature.js +16 -16
  104. package/lib/feature.js.map +1 -1
  105. package/lib/http-api/method.js +14 -14
  106. package/lib/http-api/method.js.map +1 -1
  107. package/lib/http-api/prefix.js +26 -26
  108. package/lib/http-api/prefix.js.map +1 -1
  109. package/lib/indexeddb-helpers.js +21 -21
  110. package/lib/indexeddb-helpers.js.map +1 -1
  111. package/lib/indexeddb-worker.js +18 -18
  112. package/lib/indexeddb-worker.js.map +1 -1
  113. package/lib/matrixrtc/IKeyTransport.js +17 -17
  114. package/lib/matrixrtc/IKeyTransport.js.map +1 -1
  115. package/lib/matrixrtc/IMembershipManager.js +27 -27
  116. package/lib/matrixrtc/IMembershipManager.js.map +1 -1
  117. package/lib/matrixrtc/LivekitTransport.js +19 -19
  118. package/lib/matrixrtc/LivekitTransport.js.map +1 -1
  119. package/lib/matrixrtc/index.js +14 -14
  120. package/lib/matrixrtc/index.js.map +1 -1
  121. package/lib/matrixrtc/utils.js +27 -27
  122. package/lib/matrixrtc/utils.js.map +1 -1
  123. package/lib/models/ToDeviceMessage.js.map +1 -1
  124. package/lib/models/device.js +24 -24
  125. package/lib/models/device.js.map +1 -1
  126. package/lib/models/event-status.js +17 -17
  127. package/lib/models/event-status.js.map +1 -1
  128. package/lib/models/invites-ignorer-types.js +25 -25
  129. package/lib/models/invites-ignorer-types.js.map +1 -1
  130. package/lib/models/profile-keys.js +26 -26
  131. package/lib/models/profile-keys.js.map +1 -1
  132. package/lib/models/room-summary.js +26 -26
  133. package/lib/models/room-summary.js.map +1 -1
  134. package/lib/models/search-result.js +22 -22
  135. package/lib/models/search-result.js.map +1 -1
  136. package/lib/models/typed-event-emitter.js +122 -122
  137. package/lib/models/typed-event-emitter.js.map +1 -1
  138. package/lib/oidc/authorize.js +76 -76
  139. package/lib/oidc/authorize.js.map +1 -1
  140. package/lib/oidc/error.js +17 -17
  141. package/lib/oidc/error.js.map +1 -1
  142. package/lib/oidc/index.js +17 -17
  143. package/lib/oidc/index.js.map +1 -1
  144. package/lib/oidc/register.js +41 -41
  145. package/lib/oidc/register.js.map +1 -1
  146. package/lib/oidc/tokenRefresher.js +51 -51
  147. package/lib/oidc/tokenRefresher.js.map +1 -1
  148. package/lib/oidc/validate.js +59 -59
  149. package/lib/oidc/validate.js.map +1 -1
  150. package/lib/randomstring.js +35 -35
  151. package/lib/randomstring.js.map +1 -1
  152. package/lib/realtime-callbacks.js +39 -39
  153. package/lib/realtime-callbacks.js.map +1 -1
  154. package/lib/receipt-accumulator.js +44 -44
  155. package/lib/receipt-accumulator.js.map +1 -1
  156. package/lib/rendezvous/RendezvousChannel.js.map +1 -1
  157. package/lib/rendezvous/RendezvousCode.js.map +1 -1
  158. package/lib/rendezvous/RendezvousError.js +14 -14
  159. package/lib/rendezvous/RendezvousError.js.map +1 -1
  160. package/lib/rendezvous/RendezvousFailureReason.js +14 -14
  161. package/lib/rendezvous/RendezvousFailureReason.js.map +1 -1
  162. package/lib/rendezvous/RendezvousIntent.js +14 -14
  163. package/lib/rendezvous/RendezvousIntent.js.map +1 -1
  164. package/lib/rendezvous/RendezvousTransport.js.map +1 -1
  165. package/lib/rendezvous/channels/MSC4108SecureChannel.js +63 -63
  166. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -1
  167. package/lib/rendezvous/channels/index.js +14 -14
  168. package/lib/rendezvous/channels/index.js.map +1 -1
  169. package/lib/rendezvous/index.js +14 -14
  170. package/lib/rendezvous/index.js.map +1 -1
  171. package/lib/rendezvous/transports/index.js +14 -14
  172. package/lib/rendezvous/transports/index.js.map +1 -1
  173. package/lib/rust-crypto/CrossSigningIdentity.js +29 -29
  174. package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -1
  175. package/lib/rust-crypto/OutgoingRequestsManager.js +37 -37
  176. package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -1
  177. package/lib/rust-crypto/device-converter.js +30 -30
  178. package/lib/rust-crypto/device-converter.js.map +1 -1
  179. package/lib/rust-crypto/secret-storage.js +30 -30
  180. package/lib/rust-crypto/secret-storage.js.map +1 -1
  181. package/lib/service-types.js +14 -14
  182. package/lib/service-types.js.map +1 -1
  183. package/lib/store/local-storage-events-emitter.js +21 -21
  184. package/lib/store/local-storage-events-emitter.js.map +1 -1
  185. package/lib/sync-accumulator.js +50 -50
  186. package/lib/sync-accumulator.js.map +1 -1
  187. package/lib/thread-utils.js +20 -20
  188. package/lib/thread-utils.js.map +1 -1
  189. package/lib/types.js +34 -34
  190. package/lib/types.js.map +1 -1
  191. package/lib/utils/decryptAESSecretStorageItem.js +22 -22
  192. package/lib/utils/decryptAESSecretStorageItem.js.map +1 -1
  193. package/lib/utils/encryptAESSecretStorageItem.js +26 -26
  194. package/lib/utils/encryptAESSecretStorageItem.js.map +1 -1
  195. package/lib/utils/internal/deriveKeys.js +21 -21
  196. package/lib/utils/internal/deriveKeys.js.map +1 -1
  197. package/lib/utils/roomVersion.js +26 -26
  198. package/lib/utils/roomVersion.js.map +1 -1
  199. package/lib/version-support.js +26 -26
  200. package/lib/version-support.js.map +1 -1
  201. package/lib/wallet-recovery.d.ts +24 -0
  202. package/lib/wallet-recovery.d.ts.map +1 -0
  203. package/lib/wallet-recovery.js +232 -0
  204. package/lib/wallet-recovery.js.map +1 -0
  205. package/lib/webrtc/audioContext.js +24 -24
  206. package/lib/webrtc/audioContext.js.map +1 -1
  207. package/lib/webrtc/callEventTypes.js.map +1 -1
  208. package/lib/webrtc/stats/callFeedStatsReporter.js +14 -14
  209. package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -1
  210. package/lib/webrtc/stats/callStatsReportGatherer.js +14 -14
  211. package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -1
  212. package/lib/webrtc/stats/callStatsReportSummary.js.map +1 -1
  213. package/lib/webrtc/stats/connectionStats.js +14 -14
  214. package/lib/webrtc/stats/connectionStats.js.map +1 -1
  215. package/lib/webrtc/stats/connectionStatsBuilder.js +14 -14
  216. package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -1
  217. package/lib/webrtc/stats/connectionStatsReportBuilder.js +14 -14
  218. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -1
  219. package/lib/webrtc/stats/groupCallStats.js +14 -14
  220. package/lib/webrtc/stats/groupCallStats.js.map +1 -1
  221. package/lib/webrtc/stats/media/mediaSsrcHandler.js +14 -14
  222. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -1
  223. package/lib/webrtc/stats/media/mediaTrackHandler.js +14 -14
  224. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -1
  225. package/lib/webrtc/stats/media/mediaTrackStats.js +27 -27
  226. package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -1
  227. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +20 -20
  228. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -1
  229. package/lib/webrtc/stats/statsReport.js +14 -14
  230. package/lib/webrtc/stats/statsReport.js.map +1 -1
  231. package/lib/webrtc/stats/statsReportEmitter.js +14 -14
  232. package/lib/webrtc/stats/statsReportEmitter.js.map +1 -1
  233. package/lib/webrtc/stats/trackStatsBuilder.js +4 -4
  234. package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -1
  235. package/lib/webrtc/stats/transportStats.js.map +1 -1
  236. package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -1
  237. package/lib/webrtc/stats/valueFormatter.js +11 -11
  238. package/lib/webrtc/stats/valueFormatter.js.map +1 -1
  239. package/lib/xrpl/identity.d.ts +28 -0
  240. package/lib/xrpl/identity.d.ts.map +1 -0
  241. package/lib/xrpl/identity.js +213 -0
  242. package/lib/xrpl/identity.js.map +1 -0
  243. package/lib/xrpl/trust.d.ts +8 -0
  244. package/lib/xrpl/trust.d.ts.map +1 -0
  245. package/lib/xrpl/trust.js +61 -0
  246. package/lib/xrpl/trust.js.map +1 -0
  247. package/lib/xrpl/verification.d.ts +26 -0
  248. package/lib/xrpl/verification.d.ts.map +1 -0
  249. package/lib/xrpl/verification.js +295 -0
  250. package/lib/xrpl/verification.js.map +1 -0
  251. package/package.json +130 -129
  252. package/src/@types/AESEncryptedSecretStoragePayload.ts +29 -29
  253. package/src/@types/IIdentityServerProvider.ts +24 -24
  254. package/src/@types/PushRules.ts +208 -208
  255. package/src/@types/another-json.d.ts +19 -19
  256. package/src/@types/auth.ts +340 -258
  257. package/src/@types/beacon.ts +140 -140
  258. package/src/@types/common.ts +24 -24
  259. package/src/@types/crypto.ts +71 -71
  260. package/src/@types/event.ts +508 -449
  261. package/src/@types/events.ts +119 -119
  262. package/src/@types/extensible_events.ts +147 -147
  263. package/src/@types/local_notifications.ts +19 -19
  264. package/src/@types/location.ts +92 -92
  265. package/src/@types/matrix-sdk-crypto-wasm.d.ts +39 -39
  266. package/src/@types/media.ts +245 -245
  267. package/src/@types/membership.ts +57 -57
  268. package/src/@types/partials.ts +103 -103
  269. package/src/@types/polls.ts +120 -120
  270. package/src/@types/read_receipts.ts +61 -61
  271. package/src/@types/registration.ts +102 -102
  272. package/src/@types/search.ts +119 -119
  273. package/src/@types/signed.ts +25 -25
  274. package/src/@types/spaces.ts +37 -37
  275. package/src/@types/state_events.ts +153 -153
  276. package/src/@types/synapse.ts +40 -40
  277. package/src/@types/sync.ts +27 -27
  278. package/src/@types/threepids.ts +29 -29
  279. package/src/@types/topic.ts +69 -69
  280. package/src/@types/uia.ts +24 -24
  281. package/src/NamespacedValue.ts +121 -121
  282. package/src/ReEmitter.ts +93 -93
  283. package/src/base64.ts +86 -86
  284. package/src/briij.ts +4 -0
  285. package/src/client.ts +183 -10
  286. package/src/common-crypto/README.md +4 -4
  287. package/src/common-crypto/key-passphrase.ts +43 -43
  288. package/src/content-helpers.ts +298 -298
  289. package/src/content-repo.ts +122 -122
  290. package/src/crypto/store/base.ts +388 -388
  291. package/src/crypto/store/indexeddb-crypto-store-backend.ts +655 -655
  292. package/src/crypto/store/indexeddb-crypto-store.ts +555 -555
  293. package/src/crypto/store/localStorage-crypto-store.ts +409 -409
  294. package/src/crypto/store/memory-crypto-store.ts +326 -326
  295. package/src/crypto-api/CryptoEventHandlerMap.ts +42 -42
  296. package/src/crypto-api/key-passphrase.ts +58 -58
  297. package/src/crypto-api/keybackup.ts +114 -114
  298. package/src/crypto-api/recovery-key.ts +69 -69
  299. package/src/digest.ts +34 -34
  300. package/src/extensible_events_v1/ExtensibleEvent.ts +58 -58
  301. package/src/extensible_events_v1/InvalidEventError.ts +24 -24
  302. package/src/extensible_events_v1/MessageEvent.ts +143 -143
  303. package/src/extensible_events_v1/PollEndEvent.ts +97 -97
  304. package/src/extensible_events_v1/PollResponseEvent.ts +148 -148
  305. package/src/extensible_events_v1/PollStartEvent.ts +207 -207
  306. package/src/extensible_events_v1/utilities.ts +35 -35
  307. package/src/feature.ts +88 -88
  308. package/src/http-api/method.ts +25 -25
  309. package/src/http-api/prefix.ts +48 -48
  310. package/src/indexeddb-helpers.ts +50 -50
  311. package/src/indexeddb-worker.ts +24 -24
  312. package/src/matrixrtc/IKeyTransport.ts +63 -63
  313. package/src/matrixrtc/IMembershipManager.ts +120 -120
  314. package/src/matrixrtc/LivekitTransport.ts +46 -46
  315. package/src/matrixrtc/index.ts +24 -24
  316. package/src/matrixrtc/utils.ts +71 -71
  317. package/src/models/ToDeviceMessage.ts +38 -38
  318. package/src/models/device.ts +85 -85
  319. package/src/models/event-status.ts +39 -39
  320. package/src/models/invites-ignorer-types.ts +58 -58
  321. package/src/models/profile-keys.ts +33 -33
  322. package/src/models/room-summary.ts +78 -78
  323. package/src/models/search-result.ts +57 -57
  324. package/src/models/typed-event-emitter.ts +246 -246
  325. package/src/oidc/authorize.ts +279 -279
  326. package/src/oidc/error.ts +33 -33
  327. package/src/oidc/index.ts +33 -33
  328. package/src/oidc/register.ts +163 -163
  329. package/src/oidc/tokenRefresher.ts +184 -184
  330. package/src/oidc/validate.ts +265 -265
  331. package/src/randomstring.ts +103 -103
  332. package/src/realtime-callbacks.ts +191 -191
  333. package/src/receipt-accumulator.ts +189 -189
  334. package/src/rendezvous/RendezvousChannel.ts +48 -48
  335. package/src/rendezvous/RendezvousCode.ts +25 -25
  336. package/src/rendezvous/RendezvousError.ts +26 -26
  337. package/src/rendezvous/RendezvousFailureReason.ts +49 -49
  338. package/src/rendezvous/RendezvousIntent.ts +20 -20
  339. package/src/rendezvous/RendezvousTransport.ts +58 -58
  340. package/src/rendezvous/channels/MSC4108SecureChannel.ts +270 -270
  341. package/src/rendezvous/channels/index.ts +17 -17
  342. package/src/rendezvous/index.ts +25 -25
  343. package/src/rendezvous/transports/index.ts +17 -17
  344. package/src/rust-crypto/CrossSigningIdentity.ts +195 -195
  345. package/src/rust-crypto/OutgoingRequestsManager.ts +170 -170
  346. package/src/rust-crypto/device-converter.ts +128 -128
  347. package/src/rust-crypto/secret-storage.ts +60 -60
  348. package/src/service-types.ts +20 -20
  349. package/src/store/local-storage-events-emitter.ts +46 -46
  350. package/src/sync-accumulator.ts +779 -779
  351. package/src/thread-utils.ts +31 -31
  352. package/src/types.ts +59 -59
  353. package/src/utils/decryptAESSecretStorageItem.ts +54 -54
  354. package/src/utils/encryptAESSecretStorageItem.ts +73 -73
  355. package/src/utils/internal/deriveKeys.ts +63 -63
  356. package/src/utils/roomVersion.ts +35 -35
  357. package/src/version-support.ts +50 -50
  358. package/src/wallet-recovery.ts +252 -0
  359. package/src/webrtc/audioContext.ts +44 -44
  360. package/src/webrtc/callEventTypes.ts +101 -101
  361. package/src/webrtc/stats/callFeedStatsReporter.ts +91 -91
  362. package/src/webrtc/stats/callStatsReportGatherer.ts +219 -219
  363. package/src/webrtc/stats/callStatsReportSummary.ts +30 -30
  364. package/src/webrtc/stats/connectionStats.ts +47 -47
  365. package/src/webrtc/stats/connectionStatsBuilder.ts +28 -28
  366. package/src/webrtc/stats/connectionStatsReportBuilder.ts +140 -140
  367. package/src/webrtc/stats/groupCallStats.ts +93 -93
  368. package/src/webrtc/stats/media/mediaSsrcHandler.ts +57 -57
  369. package/src/webrtc/stats/media/mediaTrackHandler.ts +70 -70
  370. package/src/webrtc/stats/media/mediaTrackStats.ts +176 -176
  371. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +90 -90
  372. package/src/webrtc/stats/statsReport.ts +133 -133
  373. package/src/webrtc/stats/statsReportEmitter.ts +49 -49
  374. package/src/webrtc/stats/trackStatsBuilder.ts +207 -207
  375. package/src/webrtc/stats/transportStats.ts +26 -26
  376. package/src/webrtc/stats/transportStatsBuilder.ts +48 -48
  377. package/src/webrtc/stats/valueFormatter.ts +27 -27
  378. package/src/xrpl/identity.ts +245 -0
  379. package/src/xrpl/trust.ts +64 -0
  380. package/src/xrpl/verification.ts +284 -0
@@ -1,85 +1,85 @@
1
- /*
2
- Copyright 2023 The Matrix.org Foundation C.I.C.
3
-
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
7
-
8
- http://www.apache.org/licenses/LICENSE-2.0
9
-
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
- */
16
-
17
- /** State of the verification of the device. */
18
- export enum DeviceVerification {
19
- Blocked = -1,
20
- Unverified = 0,
21
- Verified = 1,
22
- }
23
-
24
- /** A map from user ID to device ID to Device */
25
- export type DeviceMap = Map<string, Map<string, Device>>;
26
-
27
- type DeviceParameters = Pick<Device, "deviceId" | "userId" | "algorithms" | "keys"> & Partial<Device>;
28
-
29
- /**
30
- * Information on a user's device, as returned by {@link crypto-api!CryptoApi.getUserDeviceInfo}.
31
- */
32
- export class Device {
33
- /** id of the device */
34
- public readonly deviceId: string;
35
-
36
- /** id of the user that owns the device */
37
- public readonly userId: string;
38
-
39
- /** list of algorithms supported by this device */
40
- public readonly algorithms: string[];
41
-
42
- /** a map from `<key type>:<id> -> <base64-encoded key>` */
43
- public readonly keys: Map<string, string>;
44
-
45
- /** whether the device has been verified/blocked by the user */
46
- public readonly verified: DeviceVerification;
47
-
48
- /** a map `<userId, map<algorithm:device_id, signature>>` */
49
- public readonly signatures: Map<string, Map<string, string>>;
50
-
51
- /** display name of the device */
52
- public readonly displayName?: string;
53
-
54
- /** whether the device is a dehydrated device */
55
- public readonly dehydrated: boolean = false;
56
-
57
- public constructor(opts: DeviceParameters) {
58
- this.deviceId = opts.deviceId;
59
- this.userId = opts.userId;
60
- this.algorithms = opts.algorithms;
61
- this.keys = opts.keys;
62
- this.verified = opts.verified || DeviceVerification.Unverified;
63
- this.signatures = opts.signatures || new Map();
64
- this.displayName = opts.displayName;
65
- this.dehydrated = !!opts.dehydrated;
66
- }
67
-
68
- /**
69
- * Get the fingerprint for this device (ie, the Ed25519 key)
70
- *
71
- * @returns base64-encoded fingerprint of this device
72
- */
73
- public getFingerprint(): string | undefined {
74
- return this.keys.get(`ed25519:${this.deviceId}`);
75
- }
76
-
77
- /**
78
- * Get the identity key for this device (ie, the Curve25519 key)
79
- *
80
- * @returns base64-encoded identity key of this device
81
- */
82
- public getIdentityKey(): string | undefined {
83
- return this.keys.get(`curve25519:${this.deviceId}`);
84
- }
85
- }
1
+ /*
2
+ Copyright 2023 The Matrix.org Foundation C.I.C.
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ */
16
+
17
+ /** State of the verification of the device. */
18
+ export enum DeviceVerification {
19
+ Blocked = -1,
20
+ Unverified = 0,
21
+ Verified = 1,
22
+ }
23
+
24
+ /** A map from user ID to device ID to Device */
25
+ export type DeviceMap = Map<string, Map<string, Device>>;
26
+
27
+ type DeviceParameters = Pick<Device, "deviceId" | "userId" | "algorithms" | "keys"> & Partial<Device>;
28
+
29
+ /**
30
+ * Information on a user's device, as returned by {@link crypto-api!CryptoApi.getUserDeviceInfo}.
31
+ */
32
+ export class Device {
33
+ /** id of the device */
34
+ public readonly deviceId: string;
35
+
36
+ /** id of the user that owns the device */
37
+ public readonly userId: string;
38
+
39
+ /** list of algorithms supported by this device */
40
+ public readonly algorithms: string[];
41
+
42
+ /** a map from `<key type>:<id> -> <base64-encoded key>` */
43
+ public readonly keys: Map<string, string>;
44
+
45
+ /** whether the device has been verified/blocked by the user */
46
+ public readonly verified: DeviceVerification;
47
+
48
+ /** a map `<userId, map<algorithm:device_id, signature>>` */
49
+ public readonly signatures: Map<string, Map<string, string>>;
50
+
51
+ /** display name of the device */
52
+ public readonly displayName?: string;
53
+
54
+ /** whether the device is a dehydrated device */
55
+ public readonly dehydrated: boolean = false;
56
+
57
+ public constructor(opts: DeviceParameters) {
58
+ this.deviceId = opts.deviceId;
59
+ this.userId = opts.userId;
60
+ this.algorithms = opts.algorithms;
61
+ this.keys = opts.keys;
62
+ this.verified = opts.verified || DeviceVerification.Unverified;
63
+ this.signatures = opts.signatures || new Map();
64
+ this.displayName = opts.displayName;
65
+ this.dehydrated = !!opts.dehydrated;
66
+ }
67
+
68
+ /**
69
+ * Get the fingerprint for this device (ie, the Ed25519 key)
70
+ *
71
+ * @returns base64-encoded fingerprint of this device
72
+ */
73
+ public getFingerprint(): string | undefined {
74
+ return this.keys.get(`ed25519:${this.deviceId}`);
75
+ }
76
+
77
+ /**
78
+ * Get the identity key for this device (ie, the Curve25519 key)
79
+ *
80
+ * @returns base64-encoded identity key of this device
81
+ */
82
+ public getIdentityKey(): string | undefined {
83
+ return this.keys.get(`curve25519:${this.deviceId}`);
84
+ }
85
+ }
@@ -1,39 +1,39 @@
1
- /*
2
- Copyright 2015 - 2022 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
- /**
18
- * Enum for event statuses.
19
- * @readonly
20
- */
21
- export enum EventStatus {
22
- /** The event was not sent and will no longer be retried. */
23
- NOT_SENT = "not_sent",
24
-
25
- /** The message is being encrypted */
26
- ENCRYPTING = "encrypting",
27
-
28
- /** The event is in the process of being sent. */
29
- SENDING = "sending",
30
-
31
- /** The event is in a queue waiting to be sent. */
32
- QUEUED = "queued",
33
-
34
- /** The event has been sent to the server, but we have not yet received the echo. */
35
- SENT = "sent",
36
-
37
- /** The event was cancelled before it was successfully sent. */
38
- CANCELLED = "cancelled",
39
- }
1
+ /*
2
+ Copyright 2015 - 2022 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
+ /**
18
+ * Enum for event statuses.
19
+ * @readonly
20
+ */
21
+ export enum EventStatus {
22
+ /** The event was not sent and will no longer be retried. */
23
+ NOT_SENT = "not_sent",
24
+
25
+ /** The message is being encrypted */
26
+ ENCRYPTING = "encrypting",
27
+
28
+ /** The event is in the process of being sent. */
29
+ SENDING = "sending",
30
+
31
+ /** The event is in a queue waiting to be sent. */
32
+ QUEUED = "queued",
33
+
34
+ /** The event has been sent to the server, but we have not yet received the echo. */
35
+ SENT = "sent",
36
+
37
+ /** The event was cancelled before it was successfully sent. */
38
+ CANCELLED = "cancelled",
39
+ }
@@ -1,58 +1,58 @@
1
- /*
2
- Copyright 2022 The Matrix.org Foundation C.I.C.
3
-
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
7
-
8
- http://www.apache.org/licenses/LICENSE-2.0
9
-
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
- */
16
-
17
- import { UnstableValue } from "matrix-events-sdk";
18
-
19
- /// The event type storing the user's individual policies.
20
- ///
21
- /// Exported for testing purposes.
22
- export const POLICIES_ACCOUNT_EVENT_TYPE = new UnstableValue("m.policies", "org.matrix.msc3847.policies");
23
-
24
- /// The key within the user's individual policies storing the user's ignored invites.
25
- ///
26
- /// Exported for testing purposes.
27
- export const IGNORE_INVITES_ACCOUNT_EVENT_KEY = new UnstableValue(
28
- "m.ignore.invites",
29
- "org.matrix.msc3847.ignore.invites",
30
- );
31
-
32
- /// The types of recommendations understood.
33
- export enum PolicyRecommendation {
34
- Ban = "m.ban",
35
- }
36
-
37
- /**
38
- * The various scopes for policies.
39
- */
40
- export enum PolicyScope {
41
- /**
42
- * The policy deals with an individual user, e.g. reject invites
43
- * from this user.
44
- */
45
- User = "m.policy.user",
46
-
47
- /**
48
- * The policy deals with a room, e.g. reject invites towards
49
- * a specific room.
50
- */
51
- Room = "m.policy.room",
52
-
53
- /**
54
- * The policy deals with a server, e.g. reject invites from
55
- * this server.
56
- */
57
- Server = "m.policy.server",
58
- }
1
+ /*
2
+ Copyright 2022 The Matrix.org Foundation C.I.C.
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ */
16
+
17
+ import { UnstableValue } from "matrix-events-sdk";
18
+
19
+ /// The event type storing the user's individual policies.
20
+ ///
21
+ /// Exported for testing purposes.
22
+ export const POLICIES_ACCOUNT_EVENT_TYPE = new UnstableValue("m.policies", "org.matrix.msc3847.policies");
23
+
24
+ /// The key within the user's individual policies storing the user's ignored invites.
25
+ ///
26
+ /// Exported for testing purposes.
27
+ export const IGNORE_INVITES_ACCOUNT_EVENT_KEY = new UnstableValue(
28
+ "m.ignore.invites",
29
+ "org.matrix.msc3847.ignore.invites",
30
+ );
31
+
32
+ /// The types of recommendations understood.
33
+ export enum PolicyRecommendation {
34
+ Ban = "m.ban",
35
+ }
36
+
37
+ /**
38
+ * The various scopes for policies.
39
+ */
40
+ export enum PolicyScope {
41
+ /**
42
+ * The policy deals with an individual user, e.g. reject invites
43
+ * from this user.
44
+ */
45
+ User = "m.policy.user",
46
+
47
+ /**
48
+ * The policy deals with a room, e.g. reject invites towards
49
+ * a specific room.
50
+ */
51
+ Room = "m.policy.room",
52
+
53
+ /**
54
+ * The policy deals with a server, e.g. reject invites from
55
+ * this server.
56
+ */
57
+ Server = "m.policy.server",
58
+ }
@@ -1,33 +1,33 @@
1
- /*
2
- Copyright 2025 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
- /**
18
- * The timezone the user is currently in. The value of this property should
19
- * match a timezone provided in https://www.iana.org/time-zones.
20
- *
21
- * This key was introduced in Matrix v1.16.
22
- */
23
- export const ProfileKeyTimezone = "m.tz";
24
-
25
- /**
26
- * The timezone the user is currently in. The value of this property should
27
- * match a timezone provided in https://www.iana.org/time-zones.
28
- *
29
- * @see https://github.com/matrix-org/matrix-spec-proposals/blob/clokep/profile-tz/proposals/4175-profile-field-time-zone.md
30
- * @experimental
31
- * @deprecated Unstable MSC field - Use `ProfileKeyTimezone`
32
- */
33
- export const ProfileKeyMSC4175Timezone = "us.cloke.msc4175.tz";
1
+ /*
2
+ Copyright 2025 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
+ /**
18
+ * The timezone the user is currently in. The value of this property should
19
+ * match a timezone provided in https://www.iana.org/time-zones.
20
+ *
21
+ * This key was introduced in Matrix v1.16.
22
+ */
23
+ export const ProfileKeyTimezone = "m.tz";
24
+
25
+ /**
26
+ * The timezone the user is currently in. The value of this property should
27
+ * match a timezone provided in https://www.iana.org/time-zones.
28
+ *
29
+ * @see https://github.com/matrix-org/matrix-spec-proposals/blob/clokep/profile-tz/proposals/4175-profile-field-time-zone.md
30
+ * @experimental
31
+ * @deprecated Unstable MSC field - Use `ProfileKeyTimezone`
32
+ */
33
+ export const ProfileKeyMSC4175Timezone = "us.cloke.msc4175.tz";
@@ -1,78 +1,78 @@
1
- /*
2
- Copyright 2015 - 2021 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
- /**
18
- * A stripped m.room.member event which contains the key renderable fields from the event,
19
- * sent only in simplified sliding sync (not `/v3/sync`).
20
- * This is very similar to MSC4186Hero from sliding-sync.ts but an internal format with
21
- * camelCase rather than underscores.
22
- */
23
- export type Hero = {
24
- userId: string;
25
- displayName?: string;
26
- avatarUrl?: string;
27
- /**
28
- * If true, the hero is from an MSC4186 summary, in which case `displayName` and `avatarUrl` will
29
- * have been set by the server if available. If false, the `Hero` has been constructed from a `/v3/sync` response,
30
- * so these fields will always be undefined.
31
- */
32
- fromMSC4186: boolean;
33
- };
34
-
35
- /**
36
- * High level summary information for a room, as returned by `/v3/sync`.
37
- */
38
- export interface IRoomSummary {
39
- /**
40
- * The room heroes: a selected set of members that can be used when summarising or
41
- * generating a name for a room. List of user IDs.
42
- */
43
- "m.heroes": string[];
44
- /**
45
- * The number of joined members in the room.
46
- */
47
- "m.joined_member_count"?: number;
48
- /**
49
- * The number of invited members in the room.
50
- */
51
- "m.invited_member_count"?: number;
52
- }
53
-
54
- interface IInfo {
55
- /** The title of the room (e.g. `m.room.name`) */
56
- title: string;
57
- /** The description of the room (e.g. `m.room.topic`) */
58
- desc?: string;
59
- /** The number of joined users. */
60
- numMembers?: number;
61
- /** The list of aliases for this room. */
62
- aliases?: string[];
63
- /** The timestamp for this room. */
64
- timestamp?: number;
65
- }
66
-
67
- /**
68
- * Construct a new Room Summary. A summary can be used for display on a recent
69
- * list, without having to load the entire room list into memory.
70
- * @param roomId - Required. The ID of this room.
71
- * @param info - Optional. The summary info. Additional keys are supported.
72
- */
73
- export class RoomSummary {
74
- public constructor(
75
- public readonly roomId: string,
76
- info?: IInfo,
77
- ) {}
78
- }
1
+ /*
2
+ Copyright 2015 - 2021 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
+ /**
18
+ * A stripped m.room.member event which contains the key renderable fields from the event,
19
+ * sent only in simplified sliding sync (not `/v3/sync`).
20
+ * This is very similar to MSC4186Hero from sliding-sync.ts but an internal format with
21
+ * camelCase rather than underscores.
22
+ */
23
+ export type Hero = {
24
+ userId: string;
25
+ displayName?: string;
26
+ avatarUrl?: string;
27
+ /**
28
+ * If true, the hero is from an MSC4186 summary, in which case `displayName` and `avatarUrl` will
29
+ * have been set by the server if available. If false, the `Hero` has been constructed from a `/v3/sync` response,
30
+ * so these fields will always be undefined.
31
+ */
32
+ fromMSC4186: boolean;
33
+ };
34
+
35
+ /**
36
+ * High level summary information for a room, as returned by `/v3/sync`.
37
+ */
38
+ export interface IRoomSummary {
39
+ /**
40
+ * The room heroes: a selected set of members that can be used when summarising or
41
+ * generating a name for a room. List of user IDs.
42
+ */
43
+ "m.heroes": string[];
44
+ /**
45
+ * The number of joined members in the room.
46
+ */
47
+ "m.joined_member_count"?: number;
48
+ /**
49
+ * The number of invited members in the room.
50
+ */
51
+ "m.invited_member_count"?: number;
52
+ }
53
+
54
+ interface IInfo {
55
+ /** The title of the room (e.g. `m.room.name`) */
56
+ title: string;
57
+ /** The description of the room (e.g. `m.room.topic`) */
58
+ desc?: string;
59
+ /** The number of joined users. */
60
+ numMembers?: number;
61
+ /** The list of aliases for this room. */
62
+ aliases?: string[];
63
+ /** The timestamp for this room. */
64
+ timestamp?: number;
65
+ }
66
+
67
+ /**
68
+ * Construct a new Room Summary. A summary can be used for display on a recent
69
+ * list, without having to load the entire room list into memory.
70
+ * @param roomId - Required. The ID of this room.
71
+ * @param info - Optional. The summary info. Additional keys are supported.
72
+ */
73
+ export class RoomSummary {
74
+ public constructor(
75
+ public readonly roomId: string,
76
+ info?: IInfo,
77
+ ) {}
78
+ }