matrix-js-sdk 31.6.1 → 32.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 (198) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +26 -59
  3. package/git-revision.txt +1 -1
  4. package/lib/@types/common.d.ts +7 -0
  5. package/lib/@types/common.d.ts.map +1 -1
  6. package/lib/@types/common.js.map +1 -1
  7. package/lib/@types/event.d.ts +68 -14
  8. package/lib/@types/event.d.ts.map +1 -1
  9. package/lib/@types/event.js +18 -0
  10. package/lib/@types/event.js.map +1 -1
  11. package/lib/@types/events.d.ts +92 -0
  12. package/lib/@types/events.d.ts.map +1 -0
  13. package/lib/@types/events.js +6 -0
  14. package/lib/@types/events.js.map +1 -0
  15. package/lib/@types/partials.d.ts +0 -12
  16. package/lib/@types/partials.d.ts.map +1 -1
  17. package/lib/@types/partials.js.map +1 -1
  18. package/lib/@types/state_events.d.ts +115 -0
  19. package/lib/@types/state_events.d.ts.map +1 -0
  20. package/lib/@types/state_events.js +6 -0
  21. package/lib/@types/state_events.js.map +1 -0
  22. package/lib/@types/uia.d.ts +2 -2
  23. package/lib/@types/uia.d.ts.map +1 -1
  24. package/lib/@types/uia.js.map +1 -1
  25. package/lib/browser-index.js +1 -1
  26. package/lib/browser-index.js.map +1 -1
  27. package/lib/client.d.ts +28 -41
  28. package/lib/client.d.ts.map +1 -1
  29. package/lib/client.js +25 -91
  30. package/lib/client.js.map +1 -1
  31. package/lib/common-crypto/CryptoBackend.d.ts +16 -5
  32. package/lib/common-crypto/CryptoBackend.d.ts.map +1 -1
  33. package/lib/common-crypto/CryptoBackend.js +72 -0
  34. package/lib/common-crypto/CryptoBackend.js.map +1 -1
  35. package/lib/content-helpers.d.ts +7 -7
  36. package/lib/content-helpers.d.ts.map +1 -1
  37. package/lib/content-helpers.js.map +1 -1
  38. package/lib/crypto/DeviceList.js +1 -1
  39. package/lib/crypto/DeviceList.js.map +1 -1
  40. package/lib/crypto/OlmDevice.d.ts.map +1 -1
  41. package/lib/crypto/OlmDevice.js +4 -5
  42. package/lib/crypto/OlmDevice.js.map +1 -1
  43. package/lib/crypto/SecretSharing.js +1 -1
  44. package/lib/crypto/SecretSharing.js.map +1 -1
  45. package/lib/crypto/algorithms/base.d.ts +1 -13
  46. package/lib/crypto/algorithms/base.d.ts.map +1 -1
  47. package/lib/crypto/algorithms/base.js +11 -28
  48. package/lib/crypto/algorithms/base.js.map +1 -1
  49. package/lib/crypto/algorithms/megolm.d.ts.map +1 -1
  50. package/lib/crypto/algorithms/megolm.js +10 -8
  51. package/lib/crypto/algorithms/megolm.js.map +1 -1
  52. package/lib/crypto/algorithms/olm.d.ts.map +1 -1
  53. package/lib/crypto/algorithms/olm.js +12 -10
  54. package/lib/crypto/algorithms/olm.js.map +1 -1
  55. package/lib/crypto/index.d.ts +1 -1
  56. package/lib/crypto/index.d.ts.map +1 -1
  57. package/lib/crypto/index.js +3 -2
  58. package/lib/crypto/index.js.map +1 -1
  59. package/lib/crypto/recoverykey.js +1 -1
  60. package/lib/crypto/recoverykey.js.map +1 -1
  61. package/lib/crypto/store/indexeddb-crypto-store.js +1 -1
  62. package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -1
  63. package/lib/crypto/verification/QRCode.d.ts +3 -2
  64. package/lib/crypto/verification/QRCode.d.ts.map +1 -1
  65. package/lib/crypto/verification/QRCode.js +3 -2
  66. package/lib/crypto/verification/QRCode.js.map +1 -1
  67. package/lib/crypto/verification/SAS.d.ts.map +1 -1
  68. package/lib/crypto/verification/SAS.js +2 -1
  69. package/lib/crypto/verification/SAS.js.map +1 -1
  70. package/lib/crypto/verification/request/InRoomChannel.d.ts.map +1 -1
  71. package/lib/crypto/verification/request/InRoomChannel.js.map +1 -1
  72. package/lib/crypto-api.d.ts +35 -0
  73. package/lib/crypto-api.d.ts.map +1 -1
  74. package/lib/crypto-api.js +22 -4
  75. package/lib/crypto-api.js.map +1 -1
  76. package/lib/errors.d.ts +0 -9
  77. package/lib/errors.d.ts.map +1 -1
  78. package/lib/errors.js +1 -16
  79. package/lib/errors.js.map +1 -1
  80. package/lib/http-api/index.js +1 -1
  81. package/lib/http-api/index.js.map +1 -1
  82. package/lib/index.js +1 -1
  83. package/lib/index.js.map +1 -1
  84. package/lib/interactive-auth.d.ts +2 -7
  85. package/lib/interactive-auth.d.ts.map +1 -1
  86. package/lib/interactive-auth.js +0 -4
  87. package/lib/interactive-auth.js.map +1 -1
  88. package/lib/matrix.js +1 -1
  89. package/lib/matrix.js.map +1 -1
  90. package/lib/models/MSC3089Branch.d.ts +15 -3
  91. package/lib/models/MSC3089Branch.d.ts.map +1 -1
  92. package/lib/models/MSC3089Branch.js.map +1 -1
  93. package/lib/models/MSC3089TreeSpace.d.ts +8 -2
  94. package/lib/models/MSC3089TreeSpace.d.ts.map +1 -1
  95. package/lib/models/MSC3089TreeSpace.js +1 -0
  96. package/lib/models/MSC3089TreeSpace.js.map +1 -1
  97. package/lib/models/event.d.ts +21 -27
  98. package/lib/models/event.d.ts.map +1 -1
  99. package/lib/models/event.js +46 -66
  100. package/lib/models/event.js.map +1 -1
  101. package/lib/models/invites-ignorer.d.ts +3 -0
  102. package/lib/models/invites-ignorer.d.ts.map +1 -1
  103. package/lib/models/invites-ignorer.js +12 -5
  104. package/lib/models/invites-ignorer.js.map +1 -1
  105. package/lib/models/room-state.d.ts +6 -1
  106. package/lib/models/room-state.d.ts.map +1 -1
  107. package/lib/models/room-state.js.map +1 -1
  108. package/lib/models/room.d.ts +15 -2
  109. package/lib/models/room.d.ts.map +1 -1
  110. package/lib/models/room.js +106 -11
  111. package/lib/models/room.js.map +1 -1
  112. package/lib/models/thread.d.ts +2 -5
  113. package/lib/models/thread.d.ts.map +1 -1
  114. package/lib/models/thread.js +52 -36
  115. package/lib/models/thread.js.map +1 -1
  116. package/lib/oidc/validate.d.ts +1 -6
  117. package/lib/oidc/validate.d.ts.map +1 -1
  118. package/lib/oidc/validate.js +0 -11
  119. package/lib/oidc/validate.js.map +1 -1
  120. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +1 -1
  121. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -1
  122. package/lib/rust-crypto/RoomEncryptor.js +1 -1
  123. package/lib/rust-crypto/RoomEncryptor.js.map +1 -1
  124. package/lib/rust-crypto/backup.js +1 -1
  125. package/lib/rust-crypto/backup.js.map +1 -1
  126. package/lib/rust-crypto/device-converter.js +1 -1
  127. package/lib/rust-crypto/device-converter.js.map +1 -1
  128. package/lib/rust-crypto/index.js +1 -1
  129. package/lib/rust-crypto/index.js.map +1 -1
  130. package/lib/rust-crypto/libolm_migration.js +1 -1
  131. package/lib/rust-crypto/libolm_migration.js.map +1 -1
  132. package/lib/rust-crypto/rust-crypto.d.ts.map +1 -1
  133. package/lib/rust-crypto/rust-crypto.js +35 -36
  134. package/lib/rust-crypto/rust-crypto.js.map +1 -1
  135. package/lib/rust-crypto/verification.d.ts.map +1 -1
  136. package/lib/rust-crypto/verification.js +9 -8
  137. package/lib/rust-crypto/verification.js.map +1 -1
  138. package/lib/sync.d.ts +2 -6
  139. package/lib/sync.d.ts.map +1 -1
  140. package/lib/sync.js +15 -48
  141. package/lib/sync.js.map +1 -1
  142. package/lib/testing.d.ts +81 -0
  143. package/lib/testing.d.ts.map +1 -0
  144. package/lib/testing.js +138 -0
  145. package/lib/testing.js.map +1 -0
  146. package/lib/types.d.ts +29 -0
  147. package/lib/types.d.ts.map +1 -1
  148. package/lib/types.js +34 -0
  149. package/lib/types.js.map +1 -1
  150. package/lib/webrtc/call.d.ts +3 -1
  151. package/lib/webrtc/call.d.ts.map +1 -1
  152. package/lib/webrtc/call.js +2 -1
  153. package/lib/webrtc/call.js.map +1 -1
  154. package/lib/webrtc/callEventTypes.d.ts +2 -1
  155. package/lib/webrtc/callEventTypes.d.ts.map +1 -1
  156. package/lib/webrtc/callEventTypes.js.map +1 -1
  157. package/lib/webrtc/groupCall.d.ts +5 -0
  158. package/lib/webrtc/groupCall.d.ts.map +1 -1
  159. package/lib/webrtc/groupCall.js +2 -0
  160. package/lib/webrtc/groupCall.js.map +1 -1
  161. package/package.json +2 -2
  162. package/src/@types/common.ts +5 -0
  163. package/src/@types/event.ts +116 -13
  164. package/src/@types/events.ts +119 -0
  165. package/src/@types/partials.ts +0 -14
  166. package/src/@types/state_events.ts +144 -0
  167. package/src/@types/uia.ts +2 -2
  168. package/src/client.ts +65 -139
  169. package/src/common-crypto/CryptoBackend.ts +41 -5
  170. package/src/content-helpers.ts +7 -7
  171. package/src/crypto/OlmDevice.ts +6 -5
  172. package/src/crypto/algorithms/base.ts +3 -39
  173. package/src/crypto/algorithms/megolm.ts +11 -7
  174. package/src/crypto/algorithms/olm.ts +50 -22
  175. package/src/crypto/index.ts +5 -4
  176. package/src/crypto/verification/QRCode.ts +3 -2
  177. package/src/crypto/verification/SAS.ts +2 -1
  178. package/src/crypto/verification/request/InRoomChannel.ts +6 -2
  179. package/src/crypto-api.ts +51 -0
  180. package/src/errors.ts +0 -19
  181. package/src/interactive-auth.ts +5 -11
  182. package/src/models/MSC3089Branch.ts +18 -3
  183. package/src/models/MSC3089TreeSpace.ts +19 -9
  184. package/src/models/event.ts +55 -69
  185. package/src/models/invites-ignorer.ts +10 -3
  186. package/src/models/room-state.ts +8 -1
  187. package/src/models/room.ts +128 -16
  188. package/src/models/thread.ts +54 -39
  189. package/src/oidc/validate.ts +0 -6
  190. package/src/rust-crypto/OutgoingRequestProcessor.ts +2 -2
  191. package/src/rust-crypto/rust-crypto.ts +51 -47
  192. package/src/rust-crypto/verification.ts +8 -7
  193. package/src/sync.ts +17 -46
  194. package/src/testing.ts +191 -0
  195. package/src/types.ts +33 -0
  196. package/src/webrtc/call.ts +29 -11
  197. package/src/webrtc/callEventTypes.ts +2 -1
  198. package/src/webrtc/groupCall.ts +7 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,30 @@
1
+ Changes in [32.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v32.0.0) (2024-04-09)
2
+ ==================================================================================================
3
+ ## 🚨 BREAKING CHANGES
4
+
5
+ * Remove various deprecated methods \& re-exports ([#4125](https://github.com/matrix-org/matrix-js-sdk/pull/4125)). Contributed by @t3chguy.
6
+ * Remove the logic that throws when the lazy loading options has changed. ([#4124](https://github.com/matrix-org/matrix-js-sdk/pull/4124)). Contributed by @langleyd.
7
+ * Fix highlights from threads disappearing on new messages ([#4106](https://github.com/matrix-org/matrix-js-sdk/pull/4106)). Contributed by @dbkr.
8
+
9
+ ## ✨ Features
10
+
11
+ * Add new `decryptExistingEvent` test helper ([#4133](https://github.com/matrix-org/matrix-js-sdk/pull/4133)). Contributed by @richvdh.
12
+ * Improve types for `sendEvent` ([#4108](https://github.com/matrix-org/matrix-js-sdk/pull/4108)). Contributed by @t3chguy.
13
+ * Remove various deprecated methods \& re-exports ([#4125](https://github.com/matrix-org/matrix-js-sdk/pull/4125)). Contributed by @t3chguy.
14
+ * Add new enum for verification methods. ([#4129](https://github.com/matrix-org/matrix-js-sdk/pull/4129)). Contributed by @richvdh.
15
+ * Add some test utils in a new entrypoint ([#4127](https://github.com/matrix-org/matrix-js-sdk/pull/4127)). Contributed by @richvdh.
16
+ * Improve types for `sendStateEvent` ([#4105](https://github.com/matrix-org/matrix-js-sdk/pull/4105)). Contributed by @t3chguy.
17
+
18
+ ## 🐛 Bug Fixes
19
+
20
+ * Improve types for `IPowerLevelsContent` and `hasSufficientPowerLevelFor` ([#4128](https://github.com/matrix-org/matrix-js-sdk/pull/4128)). Contributed by @galash13.
21
+ * Remove the logic that throws when the lazy loading options has changed. ([#4124](https://github.com/matrix-org/matrix-js-sdk/pull/4124)). Contributed by @langleyd.
22
+ * Fix highlights from threads disappearing on new messages ([#4106](https://github.com/matrix-org/matrix-js-sdk/pull/4106)). Contributed by @dbkr.
23
+ * Extend logic for local notification processing to threads ([#4111](https://github.com/matrix-org/matrix-js-sdk/pull/4111)). Contributed by @dbkr.
24
+ * Fix public rooms post request search params and body ([#4110](https://github.com/matrix-org/matrix-js-sdk/pull/4110)). Contributed by @ajbura.
25
+ * Fix bugs with the first reply to a thread ([#4104](https://github.com/matrix-org/matrix-js-sdk/pull/4104)). Contributed by @dbkr.
26
+
27
+
1
28
  Changes in [31.6.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v31.6.1) (2024-03-28)
2
29
  ==================================================================================================
3
30
  ## 🐛 Bug Fixes
package/README.md CHANGED
@@ -21,16 +21,6 @@ endpoints from before Matrix 1.1, for example.
21
21
 
22
22
  # Quickstart
23
23
 
24
- ## In a browser
25
-
26
- ### Note, the browserify build has been removed. Please use a bundler like webpack or vite instead.
27
-
28
- ## In Node.js
29
-
30
- Ensure you have the latest LTS version of Node.js installed.
31
- This library relies on `fetch` which is available in Node from v18.0.0 - it should work fine also with polyfills.
32
- If you wish to use a ponyfill or adapter of some sort then pass it as `fetchFn` to the MatrixClient constructor options.
33
-
34
24
  Using `yarn` instead of `npm` is recommended. Please see the Yarn [install guide](https://classic.yarnpkg.com/en/docs/install)
35
25
  if you do not have it already.
36
26
 
@@ -47,8 +37,6 @@ client.publicRooms(function (err, data) {
47
37
  See below for how to include libolm to enable end-to-end-encryption. Please check
48
38
  [the Node.js terminal app](examples/node) for a more complex example.
49
39
 
50
- You can also use the sdk with [Deno](https://deno.land/) (`import npm:matrix-js-sdk`) but its not officialy supported.
51
-
52
40
  To start the client:
53
41
 
54
42
  ```javascript
@@ -106,7 +94,7 @@ Object.keys(client.store.rooms).forEach((roomId) => {
106
94
  This SDK provides a full object model around the Matrix Client-Server API and emits
107
95
  events for incoming data and state changes. Aside from wrapping the HTTP API, it:
108
96
 
109
- - Handles syncing (via `/initialSync` and `/events`)
97
+ - Handles syncing (via `/sync`)
110
98
  - Handles the generation of "friendly" room and member names.
111
99
  - Handles historical `RoomMember` information (e.g. display names).
112
100
  - Manages room member state across multiple events (e.g. it handles typing, power
@@ -127,20 +115,20 @@ events for incoming data and state changes. Aside from wrapping the HTTP API, it
127
115
  - Handles room initial sync on accepting invites.
128
116
  - Handles WebRTC calling.
129
117
 
130
- Later versions of the SDK will:
118
+ # Usage
131
119
 
132
- - Expose a `RoomSummary` which would be suitable for a recents page.
133
- - Provide different pluggable storage layers (e.g. local storage, database-backed)
120
+ ## Supported platforms
134
121
 
135
- # Usage
122
+ `matrix-js-sdk` can be used in either Node.js applications (ensure you have the latest LTS version of Node.js installed),
123
+ or in browser applications, via a bundler such as Webpack or Vite.
136
124
 
137
- ## Conventions
125
+ You can also use the sdk with [Deno](https://deno.land/) (`import npm:matrix-js-sdk`) but its not officialy supported.
138
126
 
139
- ### Emitted events
127
+ ## Emitted events
140
128
 
141
- The SDK will emit events using an `EventEmitter`. It also
142
- emits object models (e.g. `Rooms`, `RoomMembers`) when they
143
- are updated.
129
+ The SDK raises notifications to the application using
130
+ [`EventEmitter`s](https://nodejs.org/api/events.html#class-eventemitter). The `MatrixClient` itself
131
+ implements `EventEmitter`, as do many of the high-level abstractions such as `Room` and `RoomMember`.
144
132
 
145
133
  ```javascript
146
134
  // Listen for low-level MatrixEvents
@@ -161,45 +149,21 @@ client.on(RoomMemberEvent.Typing, function (event, member) {
161
149
  client.startClient();
162
150
  ```
163
151
 
164
- ### Promises and Callbacks
165
-
166
- Most of the methods in the SDK are asynchronous: they do not directly return a
167
- result, but instead return a [Promise](http://documentup.com/kriskowal/q/)
168
- which will be fulfilled in the future.
169
-
170
- The typical usage is something like:
171
-
172
- ```javascript
173
- matrixClient.someMethod(arg1, arg2).then(function(result) {
174
- ...
175
- });
176
- ```
177
-
178
- Alternatively, if you have a Node.js-style `callback(err, result)` function,
179
- you can pass the result of the promise into it with something like:
152
+ ## Entry points
180
153
 
181
- ```javascript
182
- matrixClient.someMethod(arg1, arg2).nodeify(callback);
183
- ```
154
+ As well as the primary entry point (`matrix-js-sdk`), there are several other entry points which may be useful:
184
155
 
185
- The main thing to note is that it is problematic to discard the result of a
186
- promise-returning function, as that will cause exceptions to go unobserved.
187
-
188
- Methods which return a promise show this in their documentation.
189
-
190
- Many methods in the SDK support _both_ Node.js-style callbacks _and_ Promises,
191
- via an optional `callback` argument. The callback support is now deprecated:
192
- new methods do not include a `callback` argument, and in the future it may be
193
- removed from existing methods.
194
-
195
- ## Low level types
196
-
197
- There are some low level TypeScript types exported via the `matrix-js-sdk/lib/types` entrypoint to not bloat the main entrypoint.
156
+ | Entry point | Description |
157
+ | ------------------------------ | --------------------------------------------------------------------------------------------------- |
158
+ | `matrix-js-sdk` | Primary entry point. High-level functionality, and lots of historical clutter in need of a cleanup. |
159
+ | `matrix-js-sdk/lib/crypto-api` | Cryptography functionality. |
160
+ | `matrix-js-sdk/lib/types` | Low-level types, reflecting data structures defined in the Matrix spec. |
161
+ | `matrix-js-sdk/lib/testing` | Test utilities, which may be useful in test code but should not be used in production code. |
198
162
 
199
163
  ## Examples
200
164
 
201
165
  This section provides some useful code snippets which demonstrate the
202
- core functionality of the SDK. These examples assume the SDK is setup like this:
166
+ core functionality of the SDK. These examples assume the SDK is set up like this:
203
167
 
204
168
  ```javascript
205
169
  import * as sdk from "matrix-js-sdk";
@@ -215,10 +179,10 @@ const matrixClient = sdk.createClient({
215
179
  ### Automatically join rooms when invited
216
180
 
217
181
  ```javascript
218
- matrixClient.on(RoomMemberEvent.Membership, function (event, member) {
219
- if (member.membership === KnownMembership.Invite && member.userId === myUserId) {
220
- matrixClient.joinRoom(member.roomId).then(function () {
221
- console.log("Auto-joined %s", member.roomId);
182
+ matrixClient.on(RoomEvent.MyMembership, function (room, membership, prevMembership) {
183
+ if (membership === KnownMembership.Invite) {
184
+ matrixClient.joinRoom(room.roomId).then(function () {
185
+ console.log("Auto-joined %s", room.roomId);
222
186
  });
223
187
  }
224
188
  });
@@ -306,6 +270,9 @@ Then visit `http://localhost:8005` to see the API docs.
306
270
 
307
271
  # End-to-end encryption support
308
272
 
273
+ **This section is outdated.** Use of `libolm` is deprecated and we are replacing it with support
274
+ from the matrix-rust-sdk (https://github.com/element-hq/element-web/issues/21972).
275
+
309
276
  The SDK supports end-to-end encryption via the Olm and Megolm protocols, using
310
277
  [libolm](https://gitlab.matrix.org/matrix-org/olm). It is left up to the
311
278
  application to make libolm available, via the `Olm` global.
package/git-revision.txt CHANGED
@@ -1 +1 @@
1
- 5bffb7df4fe33acd6a281be6477dd37157a6cf0d
1
+ e4937e62226a90428a66194cb2eb389c94fd848b
@@ -1,2 +1,9 @@
1
1
  export type NonEmptyArray<T> = [T, ...T[]];
2
+ export type Without<T, U> = {
3
+ [P in Exclude<keyof T, keyof U>]?: never;
4
+ };
5
+ export type XOR<T, U> = T | U extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;
6
+ export type Writeable<T> = {
7
+ -readonly [P in keyof T]: T[P];
8
+ };
2
9
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/@types/common.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/@types/common.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAG3C,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI;KAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK;CAAE,CAAC;AACzE,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACjG,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","names":[],"sources":["../../src/@types/common.ts"],"sourcesContent":["/*\nCopyright 2024 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport type NonEmptyArray<T> = [T, ...T[]];\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"common.js","names":[],"sources":["../../src/@types/common.ts"],"sourcesContent":["/*\nCopyright 2024 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport type NonEmptyArray<T> = [T, ...T[]];\n\n// Based on https://stackoverflow.com/a/53229857/3532235\nexport type Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never };\nexport type XOR<T, U> = T | U extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;\nexport type Writeable<T> = { -readonly [P in keyof T]: T[P] };\n"],"mappings":"","ignoreList":[]}
@@ -1,4 +1,14 @@
1
1
  import { UnstableValue } from "../NamespacedValue";
2
+ import { PolicyRuleEventContent, RoomAvatarEventContent, RoomCanonicalAliasEventContent, RoomCreateEventContent, RoomEncryptionEventContent, RoomGuestAccessEventContent, RoomHistoryVisibilityEventContent, RoomJoinRulesEventContent, RoomMemberEventContent, RoomNameEventContent, RoomPinnedEventsEventContent, RoomPowerLevelsEventContent, RoomServerAclEventContent, RoomThirdPartyInviteEventContent, RoomTombstoneEventContent, RoomTopicEventContent, SpaceChildEventContent, SpaceParentEventContent } from "./state_events";
3
+ import { ExperimentalGroupCallRoomMemberState, IGroupCallRoomMemberState, IGroupCallRoomState } from "../webrtc/groupCall";
4
+ import { MSC3089EventContent } from "../models/MSC3089Branch";
5
+ import { M_BEACON, M_BEACON_INFO, MBeaconEventContent, MBeaconInfoEventContent } from "./beacon";
6
+ import { XOR } from "./common";
7
+ import { ReactionEventContent, RoomMessageEventContent, StickerEventContent } from "./events";
8
+ import { MCallAnswer, MCallBase, MCallCandidates, MCallHangupReject, MCallInviteNegotiate, MCallReplacesEvent, MCallSelectAnswer, SDPStreamMetadata, SDPStreamMetadataKey } from "../webrtc/callEventTypes";
9
+ import { EncryptionKeysEventContent, ICallNotifyContent } from "../matrixrtc/types";
10
+ import { EncryptedFile } from "./media";
11
+ import { M_POLL_END, M_POLL_START, PollEndEventContent, PollStartEventContent } from "./polls";
2
12
  export declare enum EventType {
3
13
  RoomCanonicalAlias = "m.room.canonical_alias",
4
14
  RoomCreate = "m.room.create",
@@ -16,6 +26,9 @@ export declare enum EventType {
16
26
  RoomServerAcl = "m.room.server_acl",
17
27
  RoomTombstone = "m.room.tombstone",
18
28
  RoomPredecessor = "org.matrix.msc3946.room_predecessor",
29
+ PolicyRuleUser = "m.policy.rule.user",
30
+ PolicyRuleRoom = "m.policy.rule.room",
31
+ PolicyRuleServer = "m.policy.rule.server",
19
32
  SpaceChild = "m.space.child",
20
33
  SpaceParent = "m.space.parent",
21
34
  RoomRedaction = "m.room.redaction",
@@ -183,20 +196,61 @@ export declare const LOCAL_NOTIFICATION_SETTINGS_PREFIX: UnstableValue<"m.local_
183
196
  * @experimental
184
197
  */
185
198
  export declare const UNSIGNED_THREAD_ID_FIELD: UnstableValue<"thread_id", "org.matrix.msc4023.thread_id">;
186
- export interface IEncryptedFile {
187
- url: string;
188
- mimetype?: string;
189
- key: {
190
- alg: string;
191
- key_ops: string[];
192
- kty: string;
193
- k: string;
194
- ext: boolean;
195
- };
196
- iv: string;
197
- hashes: {
198
- [alg: string]: string;
199
+ /**
200
+ * @deprecated in favour of {@link EncryptedFile}
201
+ */
202
+ export type IEncryptedFile = EncryptedFile;
203
+ /**
204
+ * Mapped type from event type to content type for all specified non-state room events.
205
+ */
206
+ export interface TimelineEvents {
207
+ [EventType.RoomMessage]: RoomMessageEventContent;
208
+ [EventType.Sticker]: StickerEventContent;
209
+ [EventType.Reaction]: ReactionEventContent;
210
+ [EventType.CallReplaces]: MCallReplacesEvent;
211
+ [EventType.CallAnswer]: MCallAnswer;
212
+ [EventType.CallSelectAnswer]: MCallSelectAnswer;
213
+ [EventType.CallNegotiate]: Omit<MCallInviteNegotiate, "offer">;
214
+ [EventType.CallInvite]: MCallInviteNegotiate;
215
+ [EventType.CallCandidates]: MCallCandidates;
216
+ [EventType.CallHangup]: MCallHangupReject;
217
+ [EventType.CallReject]: MCallHangupReject;
218
+ [EventType.CallSDPStreamMetadataChangedPrefix]: MCallBase & {
219
+ [SDPStreamMetadataKey]: SDPStreamMetadata;
199
220
  };
200
- v: string;
221
+ [EventType.CallEncryptionKeysPrefix]: EncryptionKeysEventContent;
222
+ [EventType.CallNotify]: ICallNotifyContent;
223
+ [M_BEACON.name]: MBeaconEventContent;
224
+ [M_POLL_START.name]: PollStartEventContent;
225
+ [M_POLL_END.name]: PollEndEventContent;
226
+ }
227
+ /**
228
+ * Mapped type from event type to content type for all specified room state events.
229
+ */
230
+ export interface StateEvents {
231
+ [EventType.RoomCanonicalAlias]: RoomCanonicalAliasEventContent;
232
+ [EventType.RoomCreate]: RoomCreateEventContent;
233
+ [EventType.RoomJoinRules]: RoomJoinRulesEventContent;
234
+ [EventType.RoomMember]: RoomMemberEventContent;
235
+ [EventType.RoomThirdPartyInvite]: XOR<RoomThirdPartyInviteEventContent, {}>;
236
+ [EventType.RoomPowerLevels]: RoomPowerLevelsEventContent;
237
+ [EventType.RoomName]: RoomNameEventContent;
238
+ [EventType.RoomTopic]: RoomTopicEventContent;
239
+ [EventType.RoomAvatar]: RoomAvatarEventContent;
240
+ [EventType.RoomPinnedEvents]: RoomPinnedEventsEventContent;
241
+ [EventType.RoomEncryption]: RoomEncryptionEventContent;
242
+ [EventType.RoomHistoryVisibility]: RoomHistoryVisibilityEventContent;
243
+ [EventType.RoomGuestAccess]: RoomGuestAccessEventContent;
244
+ [EventType.RoomServerAcl]: RoomServerAclEventContent;
245
+ [EventType.RoomTombstone]: RoomTombstoneEventContent;
246
+ [EventType.SpaceChild]: SpaceChildEventContent;
247
+ [EventType.SpaceParent]: SpaceParentEventContent;
248
+ [EventType.PolicyRuleUser]: XOR<PolicyRuleEventContent, {}>;
249
+ [EventType.PolicyRuleRoom]: XOR<PolicyRuleEventContent, {}>;
250
+ [EventType.PolicyRuleServer]: XOR<PolicyRuleEventContent, {}>;
251
+ [EventType.GroupCallPrefix]: IGroupCallRoomState;
252
+ [EventType.GroupCallMemberPrefix]: XOR<IGroupCallRoomMemberState, ExperimentalGroupCallRoomMemberState>;
253
+ [UNSTABLE_MSC3089_BRANCH.name]: MSC3089EventContent;
254
+ [M_BEACON_INFO.name]: MBeaconInfoEventContent;
201
255
  }
202
256
  //# sourceMappingURL=event.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/@types/event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/@types/event.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.UNSTABLE_MSC3089_TREE_SUBTYPE = exports.UNSTABLE_MSC3089_LEAF = exports.UNSTABLE_MSC3089_BRANCH = exports.UNSTABLE_MSC3088_PURPOSE = exports.UNSTABLE_MSC3088_ENABLED = exports.UNSTABLE_MSC2716_MARKER = exports.UNSTABLE_ELEMENT_FUNCTIONAL_USERS = exports.UNSIGNED_THREAD_ID_FIELD = exports.ToDeviceMessageId = exports.RoomType = exports.RoomCreateTypeField = exports.RelationType = exports.PUSHER_ENABLED = exports.PUSHER_DEVICE_ID = exports.MsgType = exports.MSC3912_RELATION_BASED_REDACTIONS_PROP = exports.LOCAL_NOTIFICATION_SETTINGS_PREFIX = exports.EventType = exports.EVENT_VISIBILITY_CHANGE_TYPE = void 0;
7
7
  var _NamespacedValue = require("../NamespacedValue");
8
+ var _beacon = require("./beacon");
9
+ var _callEventTypes = require("../webrtc/callEventTypes");
10
+ var _polls = require("./polls");
8
11
  /*
9
12
  Copyright 2020 The Matrix.org Foundation C.I.C.
10
13
 
@@ -37,6 +40,9 @@ let EventType = exports.EventType = /*#__PURE__*/function (EventType) {
37
40
  EventType["RoomServerAcl"] = "m.room.server_acl";
38
41
  EventType["RoomTombstone"] = "m.room.tombstone";
39
42
  EventType["RoomPredecessor"] = "org.matrix.msc3946.room_predecessor";
43
+ EventType["PolicyRuleUser"] = "m.policy.rule.user";
44
+ EventType["PolicyRuleRoom"] = "m.policy.rule.room";
45
+ EventType["PolicyRuleServer"] = "m.policy.rule.server";
40
46
  EventType["SpaceChild"] = "m.space.child";
41
47
  EventType["SpaceParent"] = "m.space.parent";
42
48
  EventType["RoomRedaction"] = "m.room.redaction";
@@ -221,4 +227,16 @@ const LOCAL_NOTIFICATION_SETTINGS_PREFIX = exports.LOCAL_NOTIFICATION_SETTINGS_P
221
227
  * @experimental
222
228
  */
223
229
  const UNSIGNED_THREAD_ID_FIELD = exports.UNSIGNED_THREAD_ID_FIELD = new _NamespacedValue.UnstableValue("thread_id", "org.matrix.msc4023.thread_id");
230
+
231
+ /**
232
+ * @deprecated in favour of {@link EncryptedFile}
233
+ */
234
+
235
+ /**
236
+ * Mapped type from event type to content type for all specified non-state room events.
237
+ */
238
+
239
+ /**
240
+ * Mapped type from event type to content type for all specified room state events.
241
+ */
224
242
  //# sourceMappingURL=event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","names":["_NamespacedValue","require","EventType","exports","RelationType","MsgType","RoomCreateTypeField","RoomType","ToDeviceMessageId","UNSTABLE_MSC3088_PURPOSE","UnstableValue","UNSTABLE_MSC3088_ENABLED","UNSTABLE_MSC3089_TREE_SUBTYPE","UNSTABLE_MSC3089_LEAF","UNSTABLE_MSC3089_BRANCH","UNSTABLE_MSC2716_MARKER","MSC3912_RELATION_BASED_REDACTIONS_PROP","UNSTABLE_ELEMENT_FUNCTIONAL_USERS","EVENT_VISIBILITY_CHANGE_TYPE","PUSHER_ENABLED","PUSHER_DEVICE_ID","LOCAL_NOTIFICATION_SETTINGS_PREFIX","UNSIGNED_THREAD_ID_FIELD"],"sources":["../../src/@types/event.ts"],"sourcesContent":["/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { UnstableValue } from \"../NamespacedValue\";\n\nexport enum EventType {\n // Room state events\n RoomCanonicalAlias = \"m.room.canonical_alias\",\n RoomCreate = \"m.room.create\",\n RoomJoinRules = \"m.room.join_rules\",\n RoomMember = \"m.room.member\",\n RoomThirdPartyInvite = \"m.room.third_party_invite\",\n RoomPowerLevels = \"m.room.power_levels\",\n RoomName = \"m.room.name\",\n RoomTopic = \"m.room.topic\",\n RoomAvatar = \"m.room.avatar\",\n RoomPinnedEvents = \"m.room.pinned_events\",\n RoomEncryption = \"m.room.encryption\",\n RoomHistoryVisibility = \"m.room.history_visibility\",\n RoomGuestAccess = \"m.room.guest_access\",\n RoomServerAcl = \"m.room.server_acl\",\n RoomTombstone = \"m.room.tombstone\",\n RoomPredecessor = \"org.matrix.msc3946.room_predecessor\",\n\n SpaceChild = \"m.space.child\",\n SpaceParent = \"m.space.parent\",\n\n // Room timeline events\n RoomRedaction = \"m.room.redaction\",\n RoomMessage = \"m.room.message\",\n RoomMessageEncrypted = \"m.room.encrypted\",\n Sticker = \"m.sticker\",\n CallInvite = \"m.call.invite\",\n CallCandidates = \"m.call.candidates\",\n CallAnswer = \"m.call.answer\",\n CallHangup = \"m.call.hangup\",\n CallReject = \"m.call.reject\",\n CallSelectAnswer = \"m.call.select_answer\",\n CallNegotiate = \"m.call.negotiate\",\n CallSDPStreamMetadataChanged = \"m.call.sdp_stream_metadata_changed\",\n CallSDPStreamMetadataChangedPrefix = \"org.matrix.call.sdp_stream_metadata_changed\",\n CallReplaces = \"m.call.replaces\",\n CallAssertedIdentity = \"m.call.asserted_identity\",\n CallAssertedIdentityPrefix = \"org.matrix.call.asserted_identity\",\n CallEncryptionKeysPrefix = \"io.element.call.encryption_keys\",\n KeyVerificationRequest = \"m.key.verification.request\",\n KeyVerificationStart = \"m.key.verification.start\",\n KeyVerificationCancel = \"m.key.verification.cancel\",\n KeyVerificationMac = \"m.key.verification.mac\",\n KeyVerificationDone = \"m.key.verification.done\",\n KeyVerificationKey = \"m.key.verification.key\",\n KeyVerificationAccept = \"m.key.verification.accept\",\n // Not used directly - see READY_TYPE in VerificationRequest.\n KeyVerificationReady = \"m.key.verification.ready\",\n // use of this is discouraged https://matrix.org/docs/spec/client_server/r0.6.1#m-room-message-feedback\n RoomMessageFeedback = \"m.room.message.feedback\",\n Reaction = \"m.reaction\",\n PollStart = \"org.matrix.msc3381.poll.start\",\n\n // Room ephemeral events\n Typing = \"m.typing\",\n Receipt = \"m.receipt\",\n Presence = \"m.presence\",\n\n // Room account_data events\n FullyRead = \"m.fully_read\",\n Tag = \"m.tag\",\n SpaceOrder = \"org.matrix.msc3230.space_order\", // MSC3230\n\n // User account_data events\n PushRules = \"m.push_rules\",\n Direct = \"m.direct\",\n IgnoredUserList = \"m.ignored_user_list\",\n\n // to_device events\n RoomKey = \"m.room_key\",\n RoomKeyRequest = \"m.room_key_request\",\n ForwardedRoomKey = \"m.forwarded_room_key\",\n Dummy = \"m.dummy\",\n\n // Group call events\n GroupCallPrefix = \"org.matrix.msc3401.call\",\n GroupCallMemberPrefix = \"org.matrix.msc3401.call.member\",\n\n // MatrixRTC events\n CallNotify = \"org.matrix.msc4075.call.notify\",\n}\n\nexport enum RelationType {\n Annotation = \"m.annotation\",\n Replace = \"m.replace\",\n Reference = \"m.reference\",\n Thread = \"m.thread\",\n}\n\nexport enum MsgType {\n Text = \"m.text\",\n Emote = \"m.emote\",\n Notice = \"m.notice\",\n Image = \"m.image\",\n File = \"m.file\",\n Audio = \"m.audio\",\n Location = \"m.location\",\n Video = \"m.video\",\n KeyVerificationRequest = \"m.key.verification.request\",\n}\n\nexport const RoomCreateTypeField = \"type\";\n\nexport enum RoomType {\n Space = \"m.space\",\n UnstableCall = \"org.matrix.msc3417.call\",\n ElementVideo = \"io.element.video\",\n}\n\nexport const ToDeviceMessageId = \"org.matrix.msgid\";\n\n/**\n * Identifier for an [MSC3088](https://github.com/matrix-org/matrix-doc/pull/3088)\n * room purpose. Note that this reference is UNSTABLE and subject to breaking changes,\n * including its eventual removal.\n */\nexport const UNSTABLE_MSC3088_PURPOSE = new UnstableValue(\"m.room.purpose\", \"org.matrix.msc3088.purpose\");\n\n/**\n * Enabled flag for an [MSC3088](https://github.com/matrix-org/matrix-doc/pull/3088)\n * room purpose. Note that this reference is UNSTABLE and subject to breaking changes,\n * including its eventual removal.\n */\nexport const UNSTABLE_MSC3088_ENABLED = new UnstableValue(\"m.enabled\", \"org.matrix.msc3088.enabled\");\n\n/**\n * Subtype for an [MSC3089](https://github.com/matrix-org/matrix-doc/pull/3089) space-room.\n * Note that this reference is UNSTABLE and subject to breaking changes, including its\n * eventual removal.\n */\nexport const UNSTABLE_MSC3089_TREE_SUBTYPE = new UnstableValue(\"m.data_tree\", \"org.matrix.msc3089.data_tree\");\n\n/**\n * Leaf type for an event in a [MSC3089](https://github.com/matrix-org/matrix-doc/pull/3089) space-room.\n * Note that this reference is UNSTABLE and subject to breaking changes, including its\n * eventual removal.\n */\nexport const UNSTABLE_MSC3089_LEAF = new UnstableValue(\"m.leaf\", \"org.matrix.msc3089.leaf\");\n\n/**\n * Branch (Leaf Reference) type for the index approach in a\n * [MSC3089](https://github.com/matrix-org/matrix-doc/pull/3089) space-room. Note that this reference is\n * UNSTABLE and subject to breaking changes, including its eventual removal.\n */\nexport const UNSTABLE_MSC3089_BRANCH = new UnstableValue(\"m.branch\", \"org.matrix.msc3089.branch\");\n\n/**\n * Marker event type to point back at imported historical content in a room. See\n * [MSC2716](https://github.com/matrix-org/matrix-spec-proposals/pull/2716).\n * Note that this reference is UNSTABLE and subject to breaking changes,\n * including its eventual removal.\n */\nexport const UNSTABLE_MSC2716_MARKER = new UnstableValue(\"m.room.marker\", \"org.matrix.msc2716.marker\");\n\n/**\n * Name of the request property for relation based redactions.\n * {@link https://github.com/matrix-org/matrix-spec-proposals/pull/3912}\n */\nexport const MSC3912_RELATION_BASED_REDACTIONS_PROP = new UnstableValue(\n \"with_rel_types\",\n \"org.matrix.msc3912.with_relations\",\n);\n\n/**\n * Functional members type for declaring a purpose of room members (e.g. helpful bots).\n * Note that this reference is UNSTABLE and subject to breaking changes, including its\n * eventual removal.\n *\n * Schema (TypeScript):\n * ```\n * {\n * service_members?: string[]\n * }\n * ```\n *\n * @example\n * ```\n * {\n * \"service_members\": [\n * \"@helperbot:localhost\",\n * \"@reminderbot:alice.tdl\"\n * ]\n * }\n * ```\n */\nexport const UNSTABLE_ELEMENT_FUNCTIONAL_USERS = new UnstableValue(\n \"io.element.functional_members\",\n \"io.element.functional_members\",\n);\n\n/**\n * A type of message that affects visibility of a message,\n * as per https://github.com/matrix-org/matrix-doc/pull/3531\n *\n * @experimental\n */\nexport const EVENT_VISIBILITY_CHANGE_TYPE = new UnstableValue(\"m.visibility\", \"org.matrix.msc3531.visibility\");\n\n/**\n * https://github.com/matrix-org/matrix-doc/pull/3881\n *\n * @experimental\n */\nexport const PUSHER_ENABLED = new UnstableValue(\"enabled\", \"org.matrix.msc3881.enabled\");\n\n/**\n * https://github.com/matrix-org/matrix-doc/pull/3881\n *\n * @experimental\n */\nexport const PUSHER_DEVICE_ID = new UnstableValue(\"device_id\", \"org.matrix.msc3881.device_id\");\n\n/**\n * https://github.com/matrix-org/matrix-doc/pull/3890\n *\n * @experimental\n */\nexport const LOCAL_NOTIFICATION_SETTINGS_PREFIX = new UnstableValue(\n \"m.local_notification_settings\",\n \"org.matrix.msc3890.local_notification_settings\",\n);\n\n/**\n * https://github.com/matrix-org/matrix-doc/pull/4023\n *\n * @experimental\n */\nexport const UNSIGNED_THREAD_ID_FIELD = new UnstableValue(\"thread_id\", \"org.matrix.msc4023.thread_id\");\n\nexport interface IEncryptedFile {\n url: string;\n mimetype?: string;\n key: {\n alg: string;\n key_ops: string[]; // eslint-disable-line camelcase\n kty: string;\n k: string;\n ext: boolean;\n };\n iv: string;\n hashes: { [alg: string]: string };\n v: string;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"event.js","names":["_NamespacedValue","require","_beacon","_callEventTypes","_polls","EventType","exports","RelationType","MsgType","RoomCreateTypeField","RoomType","ToDeviceMessageId","UNSTABLE_MSC3088_PURPOSE","UnstableValue","UNSTABLE_MSC3088_ENABLED","UNSTABLE_MSC3089_TREE_SUBTYPE","UNSTABLE_MSC3089_LEAF","UNSTABLE_MSC3089_BRANCH","UNSTABLE_MSC2716_MARKER","MSC3912_RELATION_BASED_REDACTIONS_PROP","UNSTABLE_ELEMENT_FUNCTIONAL_USERS","EVENT_VISIBILITY_CHANGE_TYPE","PUSHER_ENABLED","PUSHER_DEVICE_ID","LOCAL_NOTIFICATION_SETTINGS_PREFIX","UNSIGNED_THREAD_ID_FIELD"],"sources":["../../src/@types/event.ts"],"sourcesContent":["/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { UnstableValue } from \"../NamespacedValue\";\nimport {\n PolicyRuleEventContent,\n RoomAvatarEventContent,\n RoomCanonicalAliasEventContent,\n RoomCreateEventContent,\n RoomEncryptionEventContent,\n RoomGuestAccessEventContent,\n RoomHistoryVisibilityEventContent,\n RoomJoinRulesEventContent,\n RoomMemberEventContent,\n RoomNameEventContent,\n RoomPinnedEventsEventContent,\n RoomPowerLevelsEventContent,\n RoomServerAclEventContent,\n RoomThirdPartyInviteEventContent,\n RoomTombstoneEventContent,\n RoomTopicEventContent,\n SpaceChildEventContent,\n SpaceParentEventContent,\n} from \"./state_events\";\nimport {\n ExperimentalGroupCallRoomMemberState,\n IGroupCallRoomMemberState,\n IGroupCallRoomState,\n} from \"../webrtc/groupCall\";\nimport { MSC3089EventContent } from \"../models/MSC3089Branch\";\nimport { M_BEACON, M_BEACON_INFO, MBeaconEventContent, MBeaconInfoEventContent } from \"./beacon\";\nimport { XOR } from \"./common\";\nimport { ReactionEventContent, RoomMessageEventContent, StickerEventContent } from \"./events\";\nimport {\n MCallAnswer,\n MCallBase,\n MCallCandidates,\n MCallHangupReject,\n MCallInviteNegotiate,\n MCallReplacesEvent,\n MCallSelectAnswer,\n SDPStreamMetadata,\n SDPStreamMetadataKey,\n} from \"../webrtc/callEventTypes\";\nimport { EncryptionKeysEventContent, ICallNotifyContent } from \"../matrixrtc/types\";\nimport { EncryptedFile } from \"./media\";\nimport { M_POLL_END, M_POLL_START, PollEndEventContent, PollStartEventContent } from \"./polls\";\n\nexport enum EventType {\n // Room state events\n RoomCanonicalAlias = \"m.room.canonical_alias\",\n RoomCreate = \"m.room.create\",\n RoomJoinRules = \"m.room.join_rules\",\n RoomMember = \"m.room.member\",\n RoomThirdPartyInvite = \"m.room.third_party_invite\",\n RoomPowerLevels = \"m.room.power_levels\",\n RoomName = \"m.room.name\",\n RoomTopic = \"m.room.topic\",\n RoomAvatar = \"m.room.avatar\",\n RoomPinnedEvents = \"m.room.pinned_events\",\n RoomEncryption = \"m.room.encryption\",\n RoomHistoryVisibility = \"m.room.history_visibility\",\n RoomGuestAccess = \"m.room.guest_access\",\n RoomServerAcl = \"m.room.server_acl\",\n RoomTombstone = \"m.room.tombstone\",\n RoomPredecessor = \"org.matrix.msc3946.room_predecessor\",\n\n // Moderation policy lists\n PolicyRuleUser = \"m.policy.rule.user\",\n PolicyRuleRoom = \"m.policy.rule.room\",\n PolicyRuleServer = \"m.policy.rule.server\",\n\n SpaceChild = \"m.space.child\",\n SpaceParent = \"m.space.parent\",\n\n // Room timeline events\n RoomRedaction = \"m.room.redaction\",\n RoomMessage = \"m.room.message\",\n RoomMessageEncrypted = \"m.room.encrypted\",\n Sticker = \"m.sticker\",\n CallInvite = \"m.call.invite\",\n CallCandidates = \"m.call.candidates\",\n CallAnswer = \"m.call.answer\",\n CallHangup = \"m.call.hangup\",\n CallReject = \"m.call.reject\",\n CallSelectAnswer = \"m.call.select_answer\",\n CallNegotiate = \"m.call.negotiate\",\n CallSDPStreamMetadataChanged = \"m.call.sdp_stream_metadata_changed\",\n CallSDPStreamMetadataChangedPrefix = \"org.matrix.call.sdp_stream_metadata_changed\",\n CallReplaces = \"m.call.replaces\",\n CallAssertedIdentity = \"m.call.asserted_identity\",\n CallAssertedIdentityPrefix = \"org.matrix.call.asserted_identity\",\n CallEncryptionKeysPrefix = \"io.element.call.encryption_keys\",\n KeyVerificationRequest = \"m.key.verification.request\",\n KeyVerificationStart = \"m.key.verification.start\",\n KeyVerificationCancel = \"m.key.verification.cancel\",\n KeyVerificationMac = \"m.key.verification.mac\",\n KeyVerificationDone = \"m.key.verification.done\",\n KeyVerificationKey = \"m.key.verification.key\",\n KeyVerificationAccept = \"m.key.verification.accept\",\n // Not used directly - see READY_TYPE in VerificationRequest.\n KeyVerificationReady = \"m.key.verification.ready\",\n // use of this is discouraged https://matrix.org/docs/spec/client_server/r0.6.1#m-room-message-feedback\n RoomMessageFeedback = \"m.room.message.feedback\",\n Reaction = \"m.reaction\",\n PollStart = \"org.matrix.msc3381.poll.start\",\n\n // Room ephemeral events\n Typing = \"m.typing\",\n Receipt = \"m.receipt\",\n Presence = \"m.presence\",\n\n // Room account_data events\n FullyRead = \"m.fully_read\",\n Tag = \"m.tag\",\n SpaceOrder = \"org.matrix.msc3230.space_order\", // MSC3230\n\n // User account_data events\n PushRules = \"m.push_rules\",\n Direct = \"m.direct\",\n IgnoredUserList = \"m.ignored_user_list\",\n\n // to_device events\n RoomKey = \"m.room_key\",\n RoomKeyRequest = \"m.room_key_request\",\n ForwardedRoomKey = \"m.forwarded_room_key\",\n Dummy = \"m.dummy\",\n\n // Group call events\n GroupCallPrefix = \"org.matrix.msc3401.call\",\n GroupCallMemberPrefix = \"org.matrix.msc3401.call.member\",\n\n // MatrixRTC events\n CallNotify = \"org.matrix.msc4075.call.notify\",\n}\n\nexport enum RelationType {\n Annotation = \"m.annotation\",\n Replace = \"m.replace\",\n Reference = \"m.reference\",\n\n // Don't use this yet: it's only the stable version. The code still assumes we support the unstable prefix and,\n // moreover, our tests currently use the unstable prefix. Use THREAD_RELATION_TYPE.name.\n // Once we support *only* the stable prefix, THREAD_RELATION_TYPE can die and we can switch to this.\n Thread = \"m.thread\",\n}\n\nexport enum MsgType {\n Text = \"m.text\",\n Emote = \"m.emote\",\n Notice = \"m.notice\",\n Image = \"m.image\",\n File = \"m.file\",\n Audio = \"m.audio\",\n Location = \"m.location\",\n Video = \"m.video\",\n KeyVerificationRequest = \"m.key.verification.request\",\n}\n\nexport const RoomCreateTypeField = \"type\";\n\nexport enum RoomType {\n Space = \"m.space\",\n UnstableCall = \"org.matrix.msc3417.call\",\n ElementVideo = \"io.element.video\",\n}\n\nexport const ToDeviceMessageId = \"org.matrix.msgid\";\n\n/**\n * Identifier for an [MSC3088](https://github.com/matrix-org/matrix-doc/pull/3088)\n * room purpose. Note that this reference is UNSTABLE and subject to breaking changes,\n * including its eventual removal.\n */\nexport const UNSTABLE_MSC3088_PURPOSE = new UnstableValue(\"m.room.purpose\", \"org.matrix.msc3088.purpose\");\n\n/**\n * Enabled flag for an [MSC3088](https://github.com/matrix-org/matrix-doc/pull/3088)\n * room purpose. Note that this reference is UNSTABLE and subject to breaking changes,\n * including its eventual removal.\n */\nexport const UNSTABLE_MSC3088_ENABLED = new UnstableValue(\"m.enabled\", \"org.matrix.msc3088.enabled\");\n\n/**\n * Subtype for an [MSC3089](https://github.com/matrix-org/matrix-doc/pull/3089) space-room.\n * Note that this reference is UNSTABLE and subject to breaking changes, including its\n * eventual removal.\n */\nexport const UNSTABLE_MSC3089_TREE_SUBTYPE = new UnstableValue(\"m.data_tree\", \"org.matrix.msc3089.data_tree\");\n\n/**\n * Leaf type for an event in a [MSC3089](https://github.com/matrix-org/matrix-doc/pull/3089) space-room.\n * Note that this reference is UNSTABLE and subject to breaking changes, including its\n * eventual removal.\n */\nexport const UNSTABLE_MSC3089_LEAF = new UnstableValue(\"m.leaf\", \"org.matrix.msc3089.leaf\");\n\n/**\n * Branch (Leaf Reference) type for the index approach in a\n * [MSC3089](https://github.com/matrix-org/matrix-doc/pull/3089) space-room. Note that this reference is\n * UNSTABLE and subject to breaking changes, including its eventual removal.\n */\nexport const UNSTABLE_MSC3089_BRANCH = new UnstableValue(\"m.branch\", \"org.matrix.msc3089.branch\");\n\n/**\n * Marker event type to point back at imported historical content in a room. See\n * [MSC2716](https://github.com/matrix-org/matrix-spec-proposals/pull/2716).\n * Note that this reference is UNSTABLE and subject to breaking changes,\n * including its eventual removal.\n */\nexport const UNSTABLE_MSC2716_MARKER = new UnstableValue(\"m.room.marker\", \"org.matrix.msc2716.marker\");\n\n/**\n * Name of the request property for relation based redactions.\n * {@link https://github.com/matrix-org/matrix-spec-proposals/pull/3912}\n */\nexport const MSC3912_RELATION_BASED_REDACTIONS_PROP = new UnstableValue(\n \"with_rel_types\",\n \"org.matrix.msc3912.with_relations\",\n);\n\n/**\n * Functional members type for declaring a purpose of room members (e.g. helpful bots).\n * Note that this reference is UNSTABLE and subject to breaking changes, including its\n * eventual removal.\n *\n * Schema (TypeScript):\n * ```\n * {\n * service_members?: string[]\n * }\n * ```\n *\n * @example\n * ```\n * {\n * \"service_members\": [\n * \"@helperbot:localhost\",\n * \"@reminderbot:alice.tdl\"\n * ]\n * }\n * ```\n */\nexport const UNSTABLE_ELEMENT_FUNCTIONAL_USERS = new UnstableValue(\n \"io.element.functional_members\",\n \"io.element.functional_members\",\n);\n\n/**\n * A type of message that affects visibility of a message,\n * as per https://github.com/matrix-org/matrix-doc/pull/3531\n *\n * @experimental\n */\nexport const EVENT_VISIBILITY_CHANGE_TYPE = new UnstableValue(\"m.visibility\", \"org.matrix.msc3531.visibility\");\n\n/**\n * https://github.com/matrix-org/matrix-doc/pull/3881\n *\n * @experimental\n */\nexport const PUSHER_ENABLED = new UnstableValue(\"enabled\", \"org.matrix.msc3881.enabled\");\n\n/**\n * https://github.com/matrix-org/matrix-doc/pull/3881\n *\n * @experimental\n */\nexport const PUSHER_DEVICE_ID = new UnstableValue(\"device_id\", \"org.matrix.msc3881.device_id\");\n\n/**\n * https://github.com/matrix-org/matrix-doc/pull/3890\n *\n * @experimental\n */\nexport const LOCAL_NOTIFICATION_SETTINGS_PREFIX = new UnstableValue(\n \"m.local_notification_settings\",\n \"org.matrix.msc3890.local_notification_settings\",\n);\n\n/**\n * https://github.com/matrix-org/matrix-doc/pull/4023\n *\n * @experimental\n */\nexport const UNSIGNED_THREAD_ID_FIELD = new UnstableValue(\"thread_id\", \"org.matrix.msc4023.thread_id\");\n\n/**\n * @deprecated in favour of {@link EncryptedFile}\n */\nexport type IEncryptedFile = EncryptedFile;\n\n/**\n * Mapped type from event type to content type for all specified non-state room events.\n */\nexport interface TimelineEvents {\n [EventType.RoomMessage]: RoomMessageEventContent;\n [EventType.Sticker]: StickerEventContent;\n [EventType.Reaction]: ReactionEventContent;\n [EventType.CallReplaces]: MCallReplacesEvent;\n [EventType.CallAnswer]: MCallAnswer;\n [EventType.CallSelectAnswer]: MCallSelectAnswer;\n [EventType.CallNegotiate]: Omit<MCallInviteNegotiate, \"offer\">;\n [EventType.CallInvite]: MCallInviteNegotiate;\n [EventType.CallCandidates]: MCallCandidates;\n [EventType.CallHangup]: MCallHangupReject;\n [EventType.CallReject]: MCallHangupReject;\n [EventType.CallSDPStreamMetadataChangedPrefix]: MCallBase & { [SDPStreamMetadataKey]: SDPStreamMetadata };\n [EventType.CallEncryptionKeysPrefix]: EncryptionKeysEventContent;\n [EventType.CallNotify]: ICallNotifyContent;\n [M_BEACON.name]: MBeaconEventContent;\n [M_POLL_START.name]: PollStartEventContent;\n [M_POLL_END.name]: PollEndEventContent;\n}\n\n/**\n * Mapped type from event type to content type for all specified room state events.\n */\nexport interface StateEvents {\n [EventType.RoomCanonicalAlias]: RoomCanonicalAliasEventContent;\n [EventType.RoomCreate]: RoomCreateEventContent;\n [EventType.RoomJoinRules]: RoomJoinRulesEventContent;\n [EventType.RoomMember]: RoomMemberEventContent;\n // XXX: Spec says this event has 3 required fields but kicking such an invitation requires sending `{}`\n [EventType.RoomThirdPartyInvite]: XOR<RoomThirdPartyInviteEventContent, {}>;\n [EventType.RoomPowerLevels]: RoomPowerLevelsEventContent;\n [EventType.RoomName]: RoomNameEventContent;\n [EventType.RoomTopic]: RoomTopicEventContent;\n [EventType.RoomAvatar]: RoomAvatarEventContent;\n [EventType.RoomPinnedEvents]: RoomPinnedEventsEventContent;\n [EventType.RoomEncryption]: RoomEncryptionEventContent;\n [EventType.RoomHistoryVisibility]: RoomHistoryVisibilityEventContent;\n [EventType.RoomGuestAccess]: RoomGuestAccessEventContent;\n [EventType.RoomServerAcl]: RoomServerAclEventContent;\n [EventType.RoomTombstone]: RoomTombstoneEventContent;\n [EventType.SpaceChild]: SpaceChildEventContent;\n [EventType.SpaceParent]: SpaceParentEventContent;\n\n [EventType.PolicyRuleUser]: XOR<PolicyRuleEventContent, {}>;\n [EventType.PolicyRuleRoom]: XOR<PolicyRuleEventContent, {}>;\n [EventType.PolicyRuleServer]: XOR<PolicyRuleEventContent, {}>;\n\n // MSC3401\n [EventType.GroupCallPrefix]: IGroupCallRoomState;\n [EventType.GroupCallMemberPrefix]: XOR<IGroupCallRoomMemberState, ExperimentalGroupCallRoomMemberState>;\n\n // MSC3089\n [UNSTABLE_MSC3089_BRANCH.name]: MSC3089EventContent;\n\n // MSC3672\n [M_BEACON_INFO.name]: MBeaconInfoEventContent;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,92 @@
1
+ import { MsgType, RelationType } from "./event";
2
+ import { FileInfo, ImageInfo, MediaEventContent } from "./media";
3
+ import { XOR } from "./common";
4
+ interface BaseTimelineEvent {
5
+ "body": string;
6
+ "m.mentions"?: {
7
+ user_ids?: string[];
8
+ room?: boolean;
9
+ };
10
+ }
11
+ interface ReplyEvent {
12
+ "m.relates_to"?: {
13
+ "m.in_reply_to"?: {
14
+ event_id: string;
15
+ };
16
+ };
17
+ }
18
+ interface NoRelationEvent {
19
+ "m.new_content"?: never;
20
+ "m.relates_to"?: never;
21
+ }
22
+ /**
23
+ * Partial content format of timeline events with rel_type `m.replace`
24
+ *
25
+ * @see https://spec.matrix.org/v1.9/client-server-api/#event-replacements
26
+ */
27
+ export interface ReplacementEvent<T> {
28
+ "m.new_content": T;
29
+ "m.relates_to": {
30
+ event_id: string;
31
+ rel_type: RelationType.Replace;
32
+ };
33
+ }
34
+ /**
35
+ * Partial content format of timeline events with rel_type other than `m.replace`
36
+ *
37
+ * @see https://spec.matrix.org/v1.9/client-server-api/#forming-relationships-between-events
38
+ */
39
+ export interface RelationEvent {
40
+ "m.new_content"?: never;
41
+ "m.relates_to": {
42
+ event_id: string;
43
+ rel_type: Exclude<RelationType, RelationType.Replace>;
44
+ };
45
+ }
46
+ /**
47
+ * Content format of timeline events with type `m.room.message` and `msgtype` `m.text`, `m.emote`, or `m.notice`
48
+ *
49
+ * @see https://spec.matrix.org/v1.9/client-server-api/#mroommessage
50
+ */
51
+ export interface RoomMessageTextEventContent extends BaseTimelineEvent {
52
+ msgtype: MsgType.Text | MsgType.Emote | MsgType.Notice;
53
+ format?: "org.matrix.custom.html";
54
+ formatted_body?: string;
55
+ }
56
+ /**
57
+ * Content format of timeline events with type `m.room.message` and `msgtype` `m.location`
58
+ *
59
+ * @see https://spec.matrix.org/v1.9/client-server-api/#mlocation
60
+ */
61
+ export interface RoomMessageLocationEventContent extends BaseTimelineEvent {
62
+ body: string;
63
+ geo_uri: string;
64
+ info: Pick<FileInfo, "thumbnail_info" | "thumbnail_file" | "thumbnail_url">;
65
+ msgtype: MsgType.Location;
66
+ }
67
+ type MessageEventContent = RoomMessageTextEventContent | RoomMessageLocationEventContent | MediaEventContent;
68
+ export type RoomMessageEventContent = BaseTimelineEvent & XOR<XOR<ReplacementEvent<MessageEventContent>, RelationEvent>, XOR<ReplyEvent, NoRelationEvent>> & MessageEventContent;
69
+ /**
70
+ * Content format of timeline events with type `m.sticker`
71
+ *
72
+ * @see https://spec.matrix.org/v1.9/client-server-api/#msticker
73
+ */
74
+ export interface StickerEventContent extends BaseTimelineEvent {
75
+ body: string;
76
+ info: ImageInfo;
77
+ url: string;
78
+ }
79
+ /**
80
+ * Content format of timeline events with type `m.reaction`
81
+ *
82
+ * @see https://spec.matrix.org/v1.9/client-server-api/#mreaction
83
+ */
84
+ export interface ReactionEventContent {
85
+ "m.relates_to": {
86
+ event_id: string;
87
+ key: string;
88
+ rel_type: RelationType.Annotation;
89
+ };
90
+ }
91
+ export {};
92
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/@types/events.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,UAAU,iBAAiB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE;QACX,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACL;AAED,UAAU,UAAU;IAChB,cAAc,CAAC,EAAE;QACb,eAAe,CAAC,EAAE;YACd,QAAQ,EAAE,MAAM,CAAC;SACpB,CAAC;KACL,CAAC;CACL;AAED,UAAU,eAAe;IACrB,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,cAAc,CAAC,EAAE,KAAK,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IAC/B,eAAe,EAAE,CAAC,CAAC;IACnB,cAAc,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC;KAClC,CAAC;CACL;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC1B,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,cAAc,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;KACzD,CAAC;CACL;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA4B,SAAQ,iBAAiB;IAClE,OAAO,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IACvD,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,+BAAgC,SAAQ,iBAAiB;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,eAAe,CAAC,CAAC;IAC5E,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC;CAC7B;AAED,KAAK,mBAAmB,GAAG,2BAA2B,GAAG,+BAA+B,GAAG,iBAAiB,CAAC;AAE7G,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GACnD,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,GAChG,mBAAmB,CAAC;AAExB;;;;GAIG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,cAAc,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC;KACrC,CAAC;CACL"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","names":[],"sources":["../../src/@types/events.ts"],"sourcesContent":["/*\nCopyright 2024 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { MsgType, RelationType } from \"./event\";\nimport { FileInfo, ImageInfo, MediaEventContent } from \"./media\";\nimport { XOR } from \"./common\";\n\ninterface BaseTimelineEvent {\n \"body\": string;\n \"m.mentions\"?: {\n user_ids?: string[];\n room?: boolean;\n };\n}\n\ninterface ReplyEvent {\n \"m.relates_to\"?: {\n \"m.in_reply_to\"?: {\n event_id: string;\n };\n };\n}\n\ninterface NoRelationEvent {\n \"m.new_content\"?: never;\n \"m.relates_to\"?: never;\n}\n\n/**\n * Partial content format of timeline events with rel_type `m.replace`\n *\n * @see https://spec.matrix.org/v1.9/client-server-api/#event-replacements\n */\nexport interface ReplacementEvent<T> {\n \"m.new_content\": T;\n \"m.relates_to\": {\n event_id: string;\n rel_type: RelationType.Replace;\n };\n}\n\n/**\n * Partial content format of timeline events with rel_type other than `m.replace`\n *\n * @see https://spec.matrix.org/v1.9/client-server-api/#forming-relationships-between-events\n */\nexport interface RelationEvent {\n \"m.new_content\"?: never;\n \"m.relates_to\": {\n event_id: string;\n rel_type: Exclude<RelationType, RelationType.Replace>;\n };\n}\n\n/**\n * Content format of timeline events with type `m.room.message` and `msgtype` `m.text`, `m.emote`, or `m.notice`\n *\n * @see https://spec.matrix.org/v1.9/client-server-api/#mroommessage\n */\nexport interface RoomMessageTextEventContent extends BaseTimelineEvent {\n msgtype: MsgType.Text | MsgType.Emote | MsgType.Notice;\n format?: \"org.matrix.custom.html\";\n formatted_body?: string;\n}\n\n/**\n * Content format of timeline events with type `m.room.message` and `msgtype` `m.location`\n *\n * @see https://spec.matrix.org/v1.9/client-server-api/#mlocation\n */\nexport interface RoomMessageLocationEventContent extends BaseTimelineEvent {\n body: string;\n geo_uri: string;\n info: Pick<FileInfo, \"thumbnail_info\" | \"thumbnail_file\" | \"thumbnail_url\">;\n msgtype: MsgType.Location;\n}\n\ntype MessageEventContent = RoomMessageTextEventContent | RoomMessageLocationEventContent | MediaEventContent;\n\nexport type RoomMessageEventContent = BaseTimelineEvent &\n XOR<XOR<ReplacementEvent<MessageEventContent>, RelationEvent>, XOR<ReplyEvent, NoRelationEvent>> &\n MessageEventContent;\n\n/**\n * Content format of timeline events with type `m.sticker`\n *\n * @see https://spec.matrix.org/v1.9/client-server-api/#msticker\n */\nexport interface StickerEventContent extends BaseTimelineEvent {\n body: string;\n info: ImageInfo;\n url: string;\n}\n\n/**\n * Content format of timeline events with type `m.reaction`\n *\n * @see https://spec.matrix.org/v1.9/client-server-api/#mreaction\n */\nexport interface ReactionEventContent {\n \"m.relates_to\": {\n event_id: string;\n key: string;\n rel_type: RelationType.Annotation;\n };\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,15 +1,3 @@
1
- export interface IImageInfo {
2
- size?: number;
3
- mimetype?: string;
4
- thumbnail_info?: {
5
- w?: number;
6
- h?: number;
7
- size?: number;
8
- mimetype?: string;
9
- };
10
- w?: number;
11
- h?: number;
12
- }
13
1
  export declare enum Visibility {
14
2
  Public = "public",
15
3
  Private = "private"
@@ -1 +1 @@
1
- {"version":3,"file":"partials.d.ts","sourceRoot":"","sources":["../../src/@types/partials.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,UAAU;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE;QAEb,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACd;AAED,oBAAY,UAAU;IAClB,MAAM,WAAW;IACjB,OAAO,YAAY;CACtB;AAED,oBAAY,MAAM;IACd,WAAW,iBAAiB;IAC5B,kBAAkB,yBAAyB;IAC3C,UAAU,gBAAgB;CAC7B;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,SAAS,CAAC;AAG5D,oBAAY,QAAQ;IAChB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB;;OAEG;IACH,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,UAAU,eAAe;CAC5B;AAED,oBAAY,mBAAmB;IAC3B,cAAc,sBAAsB;CACvC;AAED,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE;QACJ,IAAI,EAAE,mBAAmB,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;CACP;AAED,oBAAY,WAAW;IACnB,OAAO,aAAa;IACpB,SAAS,cAAc;CAC1B;AAED,oBAAY,iBAAiB;IACzB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,aAAa,mBAAmB;CACnC;AAED,MAAM,WAAW,WAAW;IAIxB,UAAU,EAAE,qBAAqB,GAAG,aAAa,GAAG,MAAM,CAAC;IAE3D,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B"}
1
+ {"version":3,"file":"partials.d.ts","sourceRoot":"","sources":["../../src/@types/partials.ts"],"names":[],"mappings":"AAgBA,oBAAY,UAAU;IAClB,MAAM,WAAW;IACjB,OAAO,YAAY;CACtB;AAED,oBAAY,MAAM;IACd,WAAW,iBAAiB;IAC5B,kBAAkB,yBAAyB;IAC3C,UAAU,gBAAgB;CAC7B;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,SAAS,CAAC;AAG5D,oBAAY,QAAQ;IAChB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB;;OAEG;IACH,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,UAAU,eAAe;CAC5B;AAED,oBAAY,mBAAmB;IAC3B,cAAc,sBAAsB;CACvC;AAED,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE;QACJ,IAAI,EAAE,mBAAmB,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;CACP;AAED,oBAAY,WAAW;IACnB,OAAO,aAAa;IACpB,SAAS,cAAc;CAC1B;AAED,oBAAY,iBAAiB;IACzB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,aAAa,mBAAmB;CACnC;AAED,MAAM,WAAW,WAAW;IAIxB,UAAU,EAAE,qBAAqB,GAAG,aAAa,GAAG,MAAM,CAAC;IAE3D,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"partials.js","names":["Visibility","exports","Preset","JoinRule","RestrictedAllowType","GuestAccess","HistoryVisibility"],"sources":["../../src/@types/partials.ts"],"sourcesContent":["/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport interface IImageInfo {\n size?: number;\n mimetype?: string;\n thumbnail_info?: {\n // eslint-disable-line camelcase\n w?: number;\n h?: number;\n size?: number;\n mimetype?: string;\n };\n w?: number;\n h?: number;\n}\n\nexport enum Visibility {\n Public = \"public\",\n Private = \"private\",\n}\n\nexport enum Preset {\n PrivateChat = \"private_chat\",\n TrustedPrivateChat = \"trusted_private_chat\",\n PublicChat = \"public_chat\",\n}\n\nexport type ResizeMethod = \"crop\" | \"scale\";\n\nexport type IdServerUnbindResult = \"no-support\" | \"success\";\n\n// Knock and private are reserved keywords which are not yet implemented.\nexport enum JoinRule {\n Public = \"public\",\n Invite = \"invite\",\n /**\n * @deprecated Reserved keyword. Should not be used. Not yet implemented.\n */\n Private = \"private\",\n Knock = \"knock\",\n Restricted = \"restricted\",\n}\n\nexport enum RestrictedAllowType {\n RoomMembership = \"m.room_membership\",\n}\n\nexport interface IJoinRuleEventContent {\n join_rule: JoinRule; // eslint-disable-line camelcase\n allow?: {\n type: RestrictedAllowType;\n room_id: string; // eslint-disable-line camelcase\n }[];\n}\n\nexport enum GuestAccess {\n CanJoin = \"can_join\",\n Forbidden = \"forbidden\",\n}\n\nexport enum HistoryVisibility {\n Invited = \"invited\",\n Joined = \"joined\",\n Shared = \"shared\",\n WorldReadable = \"world_readable\",\n}\n\nexport interface IUsageLimit {\n // \"hs_disabled\" is NOT a specced string, but is used in Synapse\n // This is tracked over at https://github.com/matrix-org/synapse/issues/9237\n // eslint-disable-next-line camelcase\n limit_type: \"monthly_active_user\" | \"hs_disabled\" | string;\n // eslint-disable-next-line camelcase\n admin_contact?: string;\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,IA8BYA,UAAU,GAAAC,OAAA,CAAAD,UAAA,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAAA,IAKVE,MAAM,GAAAD,OAAA,CAAAC,MAAA,0BAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAAA,OAANA,MAAM;AAAA;AAUlB;AAAA,IACYC,QAAQ,GAAAF,OAAA,CAAAE,QAAA,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAAA,IAWRC,mBAAmB,GAAAH,OAAA,CAAAG,mBAAA,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAAA,IAYnBC,WAAW,GAAAJ,OAAA,CAAAI,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAKXC,iBAAiB,GAAAL,OAAA,CAAAK,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"partials.js","names":["Visibility","exports","Preset","JoinRule","RestrictedAllowType","GuestAccess","HistoryVisibility"],"sources":["../../src/@types/partials.ts"],"sourcesContent":["/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport enum Visibility {\n Public = \"public\",\n Private = \"private\",\n}\n\nexport enum Preset {\n PrivateChat = \"private_chat\",\n TrustedPrivateChat = \"trusted_private_chat\",\n PublicChat = \"public_chat\",\n}\n\nexport type ResizeMethod = \"crop\" | \"scale\";\n\nexport type IdServerUnbindResult = \"no-support\" | \"success\";\n\n// Knock and private are reserved keywords which are not yet implemented.\nexport enum JoinRule {\n Public = \"public\",\n Invite = \"invite\",\n /**\n * @deprecated Reserved keyword. Should not be used. Not yet implemented.\n */\n Private = \"private\",\n Knock = \"knock\",\n Restricted = \"restricted\",\n}\n\nexport enum RestrictedAllowType {\n RoomMembership = \"m.room_membership\",\n}\n\nexport interface IJoinRuleEventContent {\n join_rule: JoinRule; // eslint-disable-line camelcase\n allow?: {\n type: RestrictedAllowType;\n room_id: string; // eslint-disable-line camelcase\n }[];\n}\n\nexport enum GuestAccess {\n CanJoin = \"can_join\",\n Forbidden = \"forbidden\",\n}\n\nexport enum HistoryVisibility {\n Invited = \"invited\",\n Joined = \"joined\",\n Shared = \"shared\",\n WorldReadable = \"world_readable\",\n}\n\nexport interface IUsageLimit {\n // \"hs_disabled\" is NOT a specced string, but is used in Synapse\n // This is tracked over at https://github.com/matrix-org/synapse/issues/9237\n // eslint-disable-next-line camelcase\n limit_type: \"monthly_active_user\" | \"hs_disabled\" | string;\n // eslint-disable-next-line camelcase\n admin_contact?: string;\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,IAgBYA,UAAU,GAAAC,OAAA,CAAAD,UAAA,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAAA,IAKVE,MAAM,GAAAD,OAAA,CAAAC,MAAA,0BAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAAA,OAANA,MAAM;AAAA;AAUlB;AAAA,IACYC,QAAQ,GAAAF,OAAA,CAAAE,QAAA,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAAA,IAWRC,mBAAmB,GAAAH,OAAA,CAAAG,mBAAA,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAAA,IAYnBC,WAAW,GAAAJ,OAAA,CAAAI,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAKXC,iBAAiB,GAAAL,OAAA,CAAAK,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}