@textrp/briij-js-sdk 41.0.1 → 42.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.
- package/CHANGELOG.md +14 -1
- package/LICENSE +177 -177
- package/README.md +14 -3
- package/lib/@types/AESEncryptedSecretStoragePayload.js.map +1 -1
- package/lib/@types/IIdentityServerProvider.js.map +1 -1
- package/lib/@types/PushRules.js +14 -14
- package/lib/@types/PushRules.js.map +1 -1
- package/lib/@types/another-json.d.js.map +1 -1
- package/lib/@types/auth.d.ts +19 -1
- package/lib/@types/auth.d.ts.map +1 -1
- package/lib/@types/auth.js +55 -54
- package/lib/@types/auth.js.map +1 -1
- package/lib/@types/beacon.js +100 -100
- package/lib/@types/beacon.js.map +1 -1
- package/lib/@types/common.js.map +1 -1
- package/lib/@types/crypto.js.map +1 -1
- package/lib/@types/event.d.ts +27 -0
- package/lib/@types/event.d.ts.map +1 -1
- package/lib/@types/event.js +105 -102
- package/lib/@types/event.js.map +1 -1
- package/lib/@types/events.js.map +1 -1
- package/lib/@types/extensible_events.js +53 -53
- package/lib/@types/extensible_events.js.map +1 -1
- package/lib/@types/local_notifications.js.map +1 -1
- package/lib/@types/location.js +41 -41
- package/lib/@types/location.js.map +1 -1
- package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -1
- package/lib/@types/media.js.map +1 -1
- package/lib/@types/membership.js +39 -39
- package/lib/@types/membership.js.map +1 -1
- package/lib/@types/partials.js +25 -25
- package/lib/@types/partials.js.map +1 -1
- package/lib/@types/polls.js +46 -46
- package/lib/@types/polls.js.map +1 -1
- package/lib/@types/read_receipts.js +14 -14
- package/lib/@types/read_receipts.js.map +1 -1
- package/lib/@types/registration.js.map +1 -1
- package/lib/@types/search.js +14 -14
- package/lib/@types/search.js.map +1 -1
- package/lib/@types/signed.js.map +1 -1
- package/lib/@types/spaces.js.map +1 -1
- package/lib/@types/state_events.js.map +1 -1
- package/lib/@types/synapse.js.map +1 -1
- package/lib/@types/sync.js +18 -18
- package/lib/@types/sync.js.map +1 -1
- package/lib/@types/threepids.js +14 -14
- package/lib/@types/threepids.js.map +1 -1
- package/lib/@types/topic.js +47 -47
- package/lib/@types/topic.js.map +1 -1
- package/lib/@types/uia.js.map +1 -1
- package/lib/NamespacedValue.js +20 -20
- package/lib/NamespacedValue.js.map +1 -1
- package/lib/ReEmitter.js +16 -16
- package/lib/ReEmitter.js.map +1 -1
- package/lib/base64.js +32 -32
- package/lib/base64.js.map +1 -1
- package/lib/briij.d.ts +3 -0
- package/lib/briij.d.ts.map +1 -1
- package/lib/briij.js +3 -0
- package/lib/briij.js.map +1 -1
- package/lib/client.d.ts +18 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +166 -103
- package/lib/client.js.map +1 -1
- package/lib/common-crypto/key-passphrase.js +19 -19
- package/lib/common-crypto/key-passphrase.js.map +1 -1
- package/lib/content-helpers.js +57 -57
- package/lib/content-helpers.js.map +1 -1
- package/lib/content-repo.js +36 -36
- package/lib/content-repo.js.map +1 -1
- package/lib/crypto/store/base.js +69 -69
- package/lib/crypto/store/base.js.map +1 -1
- package/lib/crypto/store/indexeddb-crypto-store-backend.js +58 -58
- package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -1
- package/lib/crypto/store/indexeddb-crypto-store.js +193 -193
- package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -1
- package/lib/crypto/store/localStorage-crypto-store.js +72 -72
- package/lib/crypto/store/localStorage-crypto-store.js.map +1 -1
- package/lib/crypto/store/memory-crypto-store.js +74 -74
- package/lib/crypto/store/memory-crypto-store.js.map +1 -1
- package/lib/crypto-api/CryptoEventHandlerMap.js.map +1 -1
- package/lib/crypto-api/key-passphrase.js +22 -22
- package/lib/crypto-api/key-passphrase.js.map +1 -1
- package/lib/crypto-api/keybackup.js.map +1 -1
- package/lib/crypto-api/recovery-key.js +20 -20
- package/lib/crypto-api/recovery-key.js.map +1 -1
- package/lib/digest.js +21 -21
- package/lib/digest.js.map +1 -1
- package/lib/extensible_events_v1/ExtensibleEvent.js +39 -39
- package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -1
- package/lib/extensible_events_v1/InvalidEventError.js +16 -16
- package/lib/extensible_events_v1/InvalidEventError.js.map +1 -1
- package/lib/extensible_events_v1/MessageEvent.js +39 -39
- package/lib/extensible_events_v1/MessageEvent.js.map +1 -1
- package/lib/extensible_events_v1/PollEndEvent.js +29 -29
- package/lib/extensible_events_v1/PollEndEvent.js.map +1 -1
- package/lib/extensible_events_v1/PollResponseEvent.js +39 -39
- package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -1
- package/lib/extensible_events_v1/PollStartEvent.js +52 -52
- package/lib/extensible_events_v1/PollStartEvent.js.map +1 -1
- package/lib/extensible_events_v1/utilities.js +22 -22
- package/lib/extensible_events_v1/utilities.js.map +1 -1
- package/lib/feature.js +16 -16
- package/lib/feature.js.map +1 -1
- package/lib/http-api/method.js +14 -14
- package/lib/http-api/method.js.map +1 -1
- package/lib/http-api/prefix.js +26 -26
- package/lib/http-api/prefix.js.map +1 -1
- package/lib/indexeddb-helpers.js +21 -21
- package/lib/indexeddb-helpers.js.map +1 -1
- package/lib/indexeddb-worker.js +18 -18
- package/lib/indexeddb-worker.js.map +1 -1
- package/lib/matrixrtc/IKeyTransport.js +17 -17
- package/lib/matrixrtc/IKeyTransport.js.map +1 -1
- package/lib/matrixrtc/IMembershipManager.js +27 -27
- package/lib/matrixrtc/IMembershipManager.js.map +1 -1
- package/lib/matrixrtc/LivekitTransport.js +19 -19
- package/lib/matrixrtc/LivekitTransport.js.map +1 -1
- package/lib/matrixrtc/index.js +14 -14
- package/lib/matrixrtc/index.js.map +1 -1
- package/lib/matrixrtc/utils.js +27 -27
- package/lib/matrixrtc/utils.js.map +1 -1
- package/lib/models/ToDeviceMessage.js.map +1 -1
- package/lib/models/device.js +24 -24
- package/lib/models/device.js.map +1 -1
- package/lib/models/event-status.js +17 -17
- package/lib/models/event-status.js.map +1 -1
- package/lib/models/invites-ignorer-types.js +25 -25
- package/lib/models/invites-ignorer-types.js.map +1 -1
- package/lib/models/profile-keys.js +26 -26
- package/lib/models/profile-keys.js.map +1 -1
- package/lib/models/room-summary.js +26 -26
- package/lib/models/room-summary.js.map +1 -1
- package/lib/models/search-result.js +22 -22
- package/lib/models/search-result.js.map +1 -1
- package/lib/models/typed-event-emitter.js +122 -122
- package/lib/models/typed-event-emitter.js.map +1 -1
- package/lib/oidc/authorize.js +76 -76
- package/lib/oidc/authorize.js.map +1 -1
- package/lib/oidc/error.js +17 -17
- package/lib/oidc/error.js.map +1 -1
- package/lib/oidc/index.js +17 -17
- package/lib/oidc/index.js.map +1 -1
- package/lib/oidc/register.js +41 -41
- package/lib/oidc/register.js.map +1 -1
- package/lib/oidc/tokenRefresher.js +51 -51
- package/lib/oidc/tokenRefresher.js.map +1 -1
- package/lib/oidc/validate.js +59 -59
- package/lib/oidc/validate.js.map +1 -1
- package/lib/randomstring.js +35 -35
- package/lib/randomstring.js.map +1 -1
- package/lib/realtime-callbacks.js +39 -39
- package/lib/realtime-callbacks.js.map +1 -1
- package/lib/receipt-accumulator.js +44 -44
- package/lib/receipt-accumulator.js.map +1 -1
- package/lib/rendezvous/RendezvousChannel.js.map +1 -1
- package/lib/rendezvous/RendezvousCode.js.map +1 -1
- package/lib/rendezvous/RendezvousError.js +14 -14
- package/lib/rendezvous/RendezvousError.js.map +1 -1
- package/lib/rendezvous/RendezvousFailureReason.js +14 -14
- package/lib/rendezvous/RendezvousFailureReason.js.map +1 -1
- package/lib/rendezvous/RendezvousIntent.js +14 -14
- package/lib/rendezvous/RendezvousIntent.js.map +1 -1
- package/lib/rendezvous/RendezvousTransport.js.map +1 -1
- package/lib/rendezvous/channels/MSC4108SecureChannel.js +63 -63
- package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -1
- package/lib/rendezvous/channels/index.js +14 -14
- package/lib/rendezvous/channels/index.js.map +1 -1
- package/lib/rendezvous/index.js +14 -14
- package/lib/rendezvous/index.js.map +1 -1
- package/lib/rendezvous/transports/index.js +14 -14
- package/lib/rendezvous/transports/index.js.map +1 -1
- package/lib/rust-crypto/CrossSigningIdentity.js +29 -29
- package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -1
- package/lib/rust-crypto/OutgoingRequestsManager.js +37 -37
- package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -1
- package/lib/rust-crypto/device-converter.js +30 -30
- package/lib/rust-crypto/device-converter.js.map +1 -1
- package/lib/rust-crypto/secret-storage.js +30 -30
- package/lib/rust-crypto/secret-storage.js.map +1 -1
- package/lib/service-types.js +14 -14
- package/lib/service-types.js.map +1 -1
- package/lib/store/local-storage-events-emitter.js +21 -21
- package/lib/store/local-storage-events-emitter.js.map +1 -1
- package/lib/sync-accumulator.js +50 -50
- package/lib/sync-accumulator.js.map +1 -1
- package/lib/thread-utils.js +20 -20
- package/lib/thread-utils.js.map +1 -1
- package/lib/types.js +34 -34
- package/lib/types.js.map +1 -1
- package/lib/utils/decryptAESSecretStorageItem.js +22 -22
- package/lib/utils/decryptAESSecretStorageItem.js.map +1 -1
- package/lib/utils/encryptAESSecretStorageItem.js +26 -26
- package/lib/utils/encryptAESSecretStorageItem.js.map +1 -1
- package/lib/utils/internal/deriveKeys.js +21 -21
- package/lib/utils/internal/deriveKeys.js.map +1 -1
- package/lib/utils/roomVersion.js +26 -26
- package/lib/utils/roomVersion.js.map +1 -1
- package/lib/version-support.js +26 -26
- package/lib/version-support.js.map +1 -1
- package/lib/webrtc/audioContext.js +24 -24
- package/lib/webrtc/audioContext.js.map +1 -1
- package/lib/webrtc/callEventTypes.js.map +1 -1
- package/lib/webrtc/stats/callFeedStatsReporter.js +14 -14
- package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -1
- package/lib/webrtc/stats/callStatsReportGatherer.js +14 -14
- package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -1
- package/lib/webrtc/stats/callStatsReportSummary.js.map +1 -1
- package/lib/webrtc/stats/connectionStats.js +14 -14
- package/lib/webrtc/stats/connectionStats.js.map +1 -1
- package/lib/webrtc/stats/connectionStatsBuilder.js +14 -14
- package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -1
- package/lib/webrtc/stats/connectionStatsReportBuilder.js +14 -14
- package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -1
- package/lib/webrtc/stats/groupCallStats.js +14 -14
- package/lib/webrtc/stats/groupCallStats.js.map +1 -1
- package/lib/webrtc/stats/media/mediaSsrcHandler.js +14 -14
- package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -1
- package/lib/webrtc/stats/media/mediaTrackHandler.js +14 -14
- package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -1
- package/lib/webrtc/stats/media/mediaTrackStats.js +27 -27
- package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -1
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +20 -20
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -1
- package/lib/webrtc/stats/statsReport.js +14 -14
- package/lib/webrtc/stats/statsReport.js.map +1 -1
- package/lib/webrtc/stats/statsReportEmitter.js +14 -14
- package/lib/webrtc/stats/statsReportEmitter.js.map +1 -1
- package/lib/webrtc/stats/trackStatsBuilder.js +4 -4
- package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -1
- package/lib/webrtc/stats/transportStats.js.map +1 -1
- package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -1
- package/lib/webrtc/stats/valueFormatter.js +11 -11
- package/lib/webrtc/stats/valueFormatter.js.map +1 -1
- package/lib/xrpl/identity.d.ts +28 -0
- package/lib/xrpl/identity.d.ts.map +1 -0
- package/lib/xrpl/identity.js +213 -0
- package/lib/xrpl/identity.js.map +1 -0
- package/lib/xrpl/trust.d.ts +8 -0
- package/lib/xrpl/trust.d.ts.map +1 -0
- package/lib/xrpl/trust.js +61 -0
- package/lib/xrpl/trust.js.map +1 -0
- package/lib/xrpl/verification.d.ts +26 -0
- package/lib/xrpl/verification.d.ts.map +1 -0
- package/lib/xrpl/verification.js +295 -0
- package/lib/xrpl/verification.js.map +1 -0
- package/package.json +128 -129
- package/src/@types/AESEncryptedSecretStoragePayload.ts +29 -29
- package/src/@types/IIdentityServerProvider.ts +24 -24
- package/src/@types/PushRules.ts +208 -208
- package/src/@types/another-json.d.ts +19 -19
- package/src/@types/auth.ts +280 -258
- package/src/@types/beacon.ts +140 -140
- package/src/@types/common.ts +24 -24
- package/src/@types/crypto.ts +71 -71
- package/src/@types/event.ts +476 -449
- package/src/@types/events.ts +119 -119
- package/src/@types/extensible_events.ts +147 -147
- package/src/@types/local_notifications.ts +19 -19
- package/src/@types/location.ts +92 -92
- package/src/@types/matrix-sdk-crypto-wasm.d.ts +39 -39
- package/src/@types/media.ts +245 -245
- package/src/@types/membership.ts +57 -57
- package/src/@types/partials.ts +103 -103
- package/src/@types/polls.ts +120 -120
- package/src/@types/read_receipts.ts +61 -61
- package/src/@types/registration.ts +102 -102
- package/src/@types/search.ts +119 -119
- package/src/@types/signed.ts +25 -25
- package/src/@types/spaces.ts +37 -37
- package/src/@types/state_events.ts +153 -153
- package/src/@types/synapse.ts +40 -40
- package/src/@types/sync.ts +27 -27
- package/src/@types/threepids.ts +29 -29
- package/src/@types/topic.ts +69 -69
- package/src/@types/uia.ts +24 -24
- package/src/NamespacedValue.ts +121 -121
- package/src/ReEmitter.ts +93 -93
- package/src/base64.ts +86 -86
- package/src/briij.ts +3 -0
- package/src/client.ts +90 -10
- package/src/common-crypto/README.md +4 -4
- package/src/common-crypto/key-passphrase.ts +43 -43
- package/src/content-helpers.ts +298 -298
- package/src/content-repo.ts +122 -122
- package/src/crypto/store/base.ts +388 -388
- package/src/crypto/store/indexeddb-crypto-store-backend.ts +655 -655
- package/src/crypto/store/indexeddb-crypto-store.ts +555 -555
- package/src/crypto/store/localStorage-crypto-store.ts +409 -409
- package/src/crypto/store/memory-crypto-store.ts +326 -326
- package/src/crypto-api/CryptoEventHandlerMap.ts +42 -42
- package/src/crypto-api/key-passphrase.ts +58 -58
- package/src/crypto-api/keybackup.ts +114 -114
- package/src/crypto-api/recovery-key.ts +69 -69
- package/src/digest.ts +34 -34
- package/src/extensible_events_v1/ExtensibleEvent.ts +58 -58
- package/src/extensible_events_v1/InvalidEventError.ts +24 -24
- package/src/extensible_events_v1/MessageEvent.ts +143 -143
- package/src/extensible_events_v1/PollEndEvent.ts +97 -97
- package/src/extensible_events_v1/PollResponseEvent.ts +148 -148
- package/src/extensible_events_v1/PollStartEvent.ts +207 -207
- package/src/extensible_events_v1/utilities.ts +35 -35
- package/src/feature.ts +88 -88
- package/src/http-api/method.ts +25 -25
- package/src/http-api/prefix.ts +48 -48
- package/src/indexeddb-helpers.ts +50 -50
- package/src/indexeddb-worker.ts +24 -24
- package/src/matrixrtc/IKeyTransport.ts +63 -63
- package/src/matrixrtc/IMembershipManager.ts +120 -120
- package/src/matrixrtc/LivekitTransport.ts +46 -46
- package/src/matrixrtc/index.ts +24 -24
- package/src/matrixrtc/utils.ts +71 -71
- package/src/models/ToDeviceMessage.ts +38 -38
- package/src/models/device.ts +85 -85
- package/src/models/event-status.ts +39 -39
- package/src/models/invites-ignorer-types.ts +58 -58
- package/src/models/profile-keys.ts +33 -33
- package/src/models/room-summary.ts +78 -78
- package/src/models/search-result.ts +57 -57
- package/src/models/typed-event-emitter.ts +246 -246
- package/src/oidc/authorize.ts +279 -279
- package/src/oidc/error.ts +33 -33
- package/src/oidc/index.ts +33 -33
- package/src/oidc/register.ts +163 -163
- package/src/oidc/tokenRefresher.ts +184 -184
- package/src/oidc/validate.ts +265 -265
- package/src/randomstring.ts +103 -103
- package/src/realtime-callbacks.ts +191 -191
- package/src/receipt-accumulator.ts +189 -189
- package/src/rendezvous/RendezvousChannel.ts +48 -48
- package/src/rendezvous/RendezvousCode.ts +25 -25
- package/src/rendezvous/RendezvousError.ts +26 -26
- package/src/rendezvous/RendezvousFailureReason.ts +49 -49
- package/src/rendezvous/RendezvousIntent.ts +20 -20
- package/src/rendezvous/RendezvousTransport.ts +58 -58
- package/src/rendezvous/channels/MSC4108SecureChannel.ts +270 -270
- package/src/rendezvous/channels/index.ts +17 -17
- package/src/rendezvous/index.ts +25 -25
- package/src/rendezvous/transports/index.ts +17 -17
- package/src/rust-crypto/CrossSigningIdentity.ts +195 -195
- package/src/rust-crypto/OutgoingRequestsManager.ts +170 -170
- package/src/rust-crypto/device-converter.ts +128 -128
- package/src/rust-crypto/secret-storage.ts +60 -60
- package/src/service-types.ts +20 -20
- package/src/store/local-storage-events-emitter.ts +46 -46
- package/src/sync-accumulator.ts +779 -779
- package/src/thread-utils.ts +31 -31
- package/src/types.ts +59 -59
- package/src/utils/decryptAESSecretStorageItem.ts +54 -54
- package/src/utils/encryptAESSecretStorageItem.ts +73 -73
- package/src/utils/internal/deriveKeys.ts +63 -63
- package/src/utils/roomVersion.ts +35 -35
- package/src/version-support.ts +50 -50
- package/src/webrtc/audioContext.ts +44 -44
- package/src/webrtc/callEventTypes.ts +101 -101
- package/src/webrtc/stats/callFeedStatsReporter.ts +91 -91
- package/src/webrtc/stats/callStatsReportGatherer.ts +219 -219
- package/src/webrtc/stats/callStatsReportSummary.ts +30 -30
- package/src/webrtc/stats/connectionStats.ts +47 -47
- package/src/webrtc/stats/connectionStatsBuilder.ts +28 -28
- package/src/webrtc/stats/connectionStatsReportBuilder.ts +140 -140
- package/src/webrtc/stats/groupCallStats.ts +93 -93
- package/src/webrtc/stats/media/mediaSsrcHandler.ts +57 -57
- package/src/webrtc/stats/media/mediaTrackHandler.ts +70 -70
- package/src/webrtc/stats/media/mediaTrackStats.ts +176 -176
- package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +90 -90
- package/src/webrtc/stats/statsReport.ts +133 -133
- package/src/webrtc/stats/statsReportEmitter.ts +49 -49
- package/src/webrtc/stats/trackStatsBuilder.ts +207 -207
- package/src/webrtc/stats/transportStats.ts +26 -26
- package/src/webrtc/stats/transportStatsBuilder.ts +48 -48
- package/src/webrtc/stats/valueFormatter.ts +27 -27
- package/src/xrpl/identity.ts +245 -0
- package/src/xrpl/trust.ts +64 -0
- package/src/xrpl/verification.ts +284 -0
|
@@ -1,153 +1,153 @@
|
|
|
1
|
-
/*
|
|
2
|
-
Copyright 2024 The Matrix.org Foundation C.I.C.
|
|
3
|
-
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
you may not use this file except in compliance with the License.
|
|
6
|
-
You may obtain a copy of the License at
|
|
7
|
-
|
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
|
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
See the License for the specific language governing permissions and
|
|
14
|
-
limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
import { type RoomType } from "./event.ts";
|
|
18
|
-
import { type GuestAccess, type HistoryVisibility, type JoinRule, type RestrictedAllowType } from "./partials.ts";
|
|
19
|
-
import { type ImageInfo } from "./media.ts";
|
|
20
|
-
import { type PolicyRecommendation } from "../models/invites-ignorer.ts";
|
|
21
|
-
|
|
22
|
-
export interface RoomCanonicalAliasEventContent {
|
|
23
|
-
alias?: string;
|
|
24
|
-
alt_aliases?: string[];
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export interface RoomCreateEventContent {
|
|
28
|
-
"creator"?: string;
|
|
29
|
-
"m.federate"?: boolean;
|
|
30
|
-
"predecessor"?: {
|
|
31
|
-
event_id: string;
|
|
32
|
-
room_id: string;
|
|
33
|
-
};
|
|
34
|
-
"room_version"?: string;
|
|
35
|
-
"type"?: RoomType;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export interface RoomJoinRulesEventContent {
|
|
39
|
-
join_rule: JoinRule;
|
|
40
|
-
allow?: {
|
|
41
|
-
room_id: string;
|
|
42
|
-
type: RestrictedAllowType;
|
|
43
|
-
}[];
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export interface RoomMemberEventContent {
|
|
47
|
-
avatar_url?: string;
|
|
48
|
-
displayname?: string;
|
|
49
|
-
is_direct?: boolean;
|
|
50
|
-
join_authorised_via_users_server?: string;
|
|
51
|
-
membership: "invite" | "join" | "knock" | "leave" | "ban";
|
|
52
|
-
reason?: string;
|
|
53
|
-
third_party_invite?: {
|
|
54
|
-
display_name: string;
|
|
55
|
-
signed: {
|
|
56
|
-
mxid: string;
|
|
57
|
-
token: string;
|
|
58
|
-
ts: number;
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export interface RoomThirdPartyInviteEventContent {
|
|
64
|
-
display_name: string;
|
|
65
|
-
key_validity_url: string;
|
|
66
|
-
public_key: string;
|
|
67
|
-
public_keys: {
|
|
68
|
-
key_validity_url?: string;
|
|
69
|
-
public_key: string;
|
|
70
|
-
}[];
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export interface RoomPowerLevelsEventContent {
|
|
74
|
-
ban?: number;
|
|
75
|
-
events?: { [eventType: string]: number };
|
|
76
|
-
events_default?: number;
|
|
77
|
-
invite?: number;
|
|
78
|
-
kick?: number;
|
|
79
|
-
notifications?: {
|
|
80
|
-
room?: number;
|
|
81
|
-
};
|
|
82
|
-
redact?: number;
|
|
83
|
-
state_default?: number;
|
|
84
|
-
users?: { [userId: string]: number };
|
|
85
|
-
users_default?: number;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
export interface RoomNameEventContent {
|
|
89
|
-
name: string;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
export interface RoomTopicEventContent {
|
|
93
|
-
topic: string | undefined | null;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
export interface RoomAvatarEventContent {
|
|
97
|
-
url?: string;
|
|
98
|
-
// The spec says that an encrypted file can be used for the thumbnail but this isn't true
|
|
99
|
-
// https://github.com/matrix-org/matrix-spec/issues/562 so omit those fields
|
|
100
|
-
info?: Omit<ImageInfo, "thumbnail_file">;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
export interface RoomPinnedEventsEventContent {
|
|
104
|
-
pinned: string[];
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
export interface RoomEncryptionEventContent {
|
|
108
|
-
"algorithm": "m.megolm.v1.aes-sha2";
|
|
109
|
-
"io.element.msc4362.encrypt_state_events"?: boolean;
|
|
110
|
-
"rotation_period_ms"?: number;
|
|
111
|
-
"rotation_period_msgs"?: number;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
export interface RoomHistoryVisibilityEventContent {
|
|
115
|
-
history_visibility: HistoryVisibility;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
export interface RoomGuestAccessEventContent {
|
|
119
|
-
guest_access: GuestAccess;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
export interface RoomServerAclEventContent {
|
|
123
|
-
allow?: string[];
|
|
124
|
-
allow_ip_literals?: boolean;
|
|
125
|
-
deny?: string[];
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
export interface RoomTombstoneEventContent {
|
|
129
|
-
body: string;
|
|
130
|
-
replacement_room: string;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
export interface SpaceChildEventContent {
|
|
134
|
-
order?: string;
|
|
135
|
-
suggested?: boolean;
|
|
136
|
-
via?: string[];
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
export interface SpaceParentEventContent {
|
|
140
|
-
canonical?: boolean;
|
|
141
|
-
via?: string[];
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
export interface PolicyRuleEventContent {
|
|
145
|
-
entity: string;
|
|
146
|
-
reason: string;
|
|
147
|
-
recommendation: PolicyRecommendation;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
export interface RoomPolicyContent {
|
|
151
|
-
via: string;
|
|
152
|
-
public_key: string;
|
|
153
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
Copyright 2024 The Matrix.org Foundation C.I.C.
|
|
3
|
+
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
you may not use this file except in compliance with the License.
|
|
6
|
+
You may obtain a copy of the License at
|
|
7
|
+
|
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
See the License for the specific language governing permissions and
|
|
14
|
+
limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { type RoomType } from "./event.ts";
|
|
18
|
+
import { type GuestAccess, type HistoryVisibility, type JoinRule, type RestrictedAllowType } from "./partials.ts";
|
|
19
|
+
import { type ImageInfo } from "./media.ts";
|
|
20
|
+
import { type PolicyRecommendation } from "../models/invites-ignorer.ts";
|
|
21
|
+
|
|
22
|
+
export interface RoomCanonicalAliasEventContent {
|
|
23
|
+
alias?: string;
|
|
24
|
+
alt_aliases?: string[];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface RoomCreateEventContent {
|
|
28
|
+
"creator"?: string;
|
|
29
|
+
"m.federate"?: boolean;
|
|
30
|
+
"predecessor"?: {
|
|
31
|
+
event_id: string;
|
|
32
|
+
room_id: string;
|
|
33
|
+
};
|
|
34
|
+
"room_version"?: string;
|
|
35
|
+
"type"?: RoomType;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface RoomJoinRulesEventContent {
|
|
39
|
+
join_rule: JoinRule;
|
|
40
|
+
allow?: {
|
|
41
|
+
room_id: string;
|
|
42
|
+
type: RestrictedAllowType;
|
|
43
|
+
}[];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface RoomMemberEventContent {
|
|
47
|
+
avatar_url?: string;
|
|
48
|
+
displayname?: string;
|
|
49
|
+
is_direct?: boolean;
|
|
50
|
+
join_authorised_via_users_server?: string;
|
|
51
|
+
membership: "invite" | "join" | "knock" | "leave" | "ban";
|
|
52
|
+
reason?: string;
|
|
53
|
+
third_party_invite?: {
|
|
54
|
+
display_name: string;
|
|
55
|
+
signed: {
|
|
56
|
+
mxid: string;
|
|
57
|
+
token: string;
|
|
58
|
+
ts: number;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export interface RoomThirdPartyInviteEventContent {
|
|
64
|
+
display_name: string;
|
|
65
|
+
key_validity_url: string;
|
|
66
|
+
public_key: string;
|
|
67
|
+
public_keys: {
|
|
68
|
+
key_validity_url?: string;
|
|
69
|
+
public_key: string;
|
|
70
|
+
}[];
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export interface RoomPowerLevelsEventContent {
|
|
74
|
+
ban?: number;
|
|
75
|
+
events?: { [eventType: string]: number };
|
|
76
|
+
events_default?: number;
|
|
77
|
+
invite?: number;
|
|
78
|
+
kick?: number;
|
|
79
|
+
notifications?: {
|
|
80
|
+
room?: number;
|
|
81
|
+
};
|
|
82
|
+
redact?: number;
|
|
83
|
+
state_default?: number;
|
|
84
|
+
users?: { [userId: string]: number };
|
|
85
|
+
users_default?: number;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export interface RoomNameEventContent {
|
|
89
|
+
name: string;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export interface RoomTopicEventContent {
|
|
93
|
+
topic: string | undefined | null;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export interface RoomAvatarEventContent {
|
|
97
|
+
url?: string;
|
|
98
|
+
// The spec says that an encrypted file can be used for the thumbnail but this isn't true
|
|
99
|
+
// https://github.com/matrix-org/matrix-spec/issues/562 so omit those fields
|
|
100
|
+
info?: Omit<ImageInfo, "thumbnail_file">;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export interface RoomPinnedEventsEventContent {
|
|
104
|
+
pinned: string[];
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export interface RoomEncryptionEventContent {
|
|
108
|
+
"algorithm": "m.megolm.v1.aes-sha2";
|
|
109
|
+
"io.element.msc4362.encrypt_state_events"?: boolean;
|
|
110
|
+
"rotation_period_ms"?: number;
|
|
111
|
+
"rotation_period_msgs"?: number;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export interface RoomHistoryVisibilityEventContent {
|
|
115
|
+
history_visibility: HistoryVisibility;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export interface RoomGuestAccessEventContent {
|
|
119
|
+
guest_access: GuestAccess;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export interface RoomServerAclEventContent {
|
|
123
|
+
allow?: string[];
|
|
124
|
+
allow_ip_literals?: boolean;
|
|
125
|
+
deny?: string[];
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export interface RoomTombstoneEventContent {
|
|
129
|
+
body: string;
|
|
130
|
+
replacement_room: string;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export interface SpaceChildEventContent {
|
|
134
|
+
order?: string;
|
|
135
|
+
suggested?: boolean;
|
|
136
|
+
via?: string[];
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export interface SpaceParentEventContent {
|
|
140
|
+
canonical?: boolean;
|
|
141
|
+
via?: string[];
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export interface PolicyRuleEventContent {
|
|
145
|
+
entity: string;
|
|
146
|
+
reason: string;
|
|
147
|
+
recommendation: PolicyRecommendation;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export interface RoomPolicyContent {
|
|
151
|
+
via: string;
|
|
152
|
+
public_key: string;
|
|
153
|
+
}
|
package/src/@types/synapse.ts
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
/*
|
|
2
|
-
Copyright 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
|
-
import { type IdServerUnbindResult } from "./partials.ts";
|
|
18
|
-
|
|
19
|
-
// Types relating to Synapse Admin APIs
|
|
20
|
-
|
|
21
|
-
/* eslint-disable camelcase */
|
|
22
|
-
export interface ISynapseAdminWhoisResponse {
|
|
23
|
-
user_id: string;
|
|
24
|
-
devices: {
|
|
25
|
-
[deviceId: string]: {
|
|
26
|
-
sessions: {
|
|
27
|
-
connections: {
|
|
28
|
-
ip: string;
|
|
29
|
-
last_seen: number; // millis since epoch
|
|
30
|
-
user_agent: string;
|
|
31
|
-
}[];
|
|
32
|
-
}[];
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export interface ISynapseAdminDeactivateResponse {
|
|
38
|
-
id_server_unbind_result: IdServerUnbindResult;
|
|
39
|
-
}
|
|
40
|
-
/* eslint-enable camelcase */
|
|
1
|
+
/*
|
|
2
|
+
Copyright 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
|
+
import { type IdServerUnbindResult } from "./partials.ts";
|
|
18
|
+
|
|
19
|
+
// Types relating to Synapse Admin APIs
|
|
20
|
+
|
|
21
|
+
/* eslint-disable camelcase */
|
|
22
|
+
export interface ISynapseAdminWhoisResponse {
|
|
23
|
+
user_id: string;
|
|
24
|
+
devices: {
|
|
25
|
+
[deviceId: string]: {
|
|
26
|
+
sessions: {
|
|
27
|
+
connections: {
|
|
28
|
+
ip: string;
|
|
29
|
+
last_seen: number; // millis since epoch
|
|
30
|
+
user_agent: string;
|
|
31
|
+
}[];
|
|
32
|
+
}[];
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface ISynapseAdminDeactivateResponse {
|
|
38
|
+
id_server_unbind_result: IdServerUnbindResult;
|
|
39
|
+
}
|
|
40
|
+
/* eslint-enable camelcase */
|
package/src/@types/sync.ts
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
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 { ServerControlledNamespacedValue } from "../NamespacedValue.ts";
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* https://github.com/matrix-org/matrix-doc/pull/3773
|
|
21
|
-
*
|
|
22
|
-
* @experimental
|
|
23
|
-
*/
|
|
24
|
-
export const UNREAD_THREAD_NOTIFICATIONS = new ServerControlledNamespacedValue(
|
|
25
|
-
"unread_thread_notifications",
|
|
26
|
-
"org.matrix.msc3773.unread_thread_notifications",
|
|
27
|
-
);
|
|
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 { ServerControlledNamespacedValue } from "../NamespacedValue.ts";
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* https://github.com/matrix-org/matrix-doc/pull/3773
|
|
21
|
+
*
|
|
22
|
+
* @experimental
|
|
23
|
+
*/
|
|
24
|
+
export const UNREAD_THREAD_NOTIFICATIONS = new ServerControlledNamespacedValue(
|
|
25
|
+
"unread_thread_notifications",
|
|
26
|
+
"org.matrix.msc3773.unread_thread_notifications",
|
|
27
|
+
);
|
package/src/@types/threepids.ts
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
/*
|
|
2
|
-
Copyright 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
|
-
export enum ThreepidMedium {
|
|
18
|
-
Email = "email",
|
|
19
|
-
Phone = "msisdn",
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// TODO: Are these types universal, or specific to just /account/3pid?
|
|
23
|
-
export interface IThreepid {
|
|
24
|
-
medium: ThreepidMedium;
|
|
25
|
-
address: string;
|
|
26
|
-
validated_at: number; // eslint-disable-line camelcase
|
|
27
|
-
added_at: number; // eslint-disable-line camelcase
|
|
28
|
-
bound?: boolean;
|
|
29
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
Copyright 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
|
+
export enum ThreepidMedium {
|
|
18
|
+
Email = "email",
|
|
19
|
+
Phone = "msisdn",
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// TODO: Are these types universal, or specific to just /account/3pid?
|
|
23
|
+
export interface IThreepid {
|
|
24
|
+
medium: ThreepidMedium;
|
|
25
|
+
address: string;
|
|
26
|
+
validated_at: number; // eslint-disable-line camelcase
|
|
27
|
+
added_at: number; // eslint-disable-line camelcase
|
|
28
|
+
bound?: boolean;
|
|
29
|
+
}
|
package/src/@types/topic.ts
CHANGED
|
@@ -1,69 +1,69 @@
|
|
|
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
|
-
import { NamespacedValue } from "../NamespacedValue.ts";
|
|
17
|
-
import { type IMessageRendering } from "./extensible_events.ts";
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Extensible topic event type based on MSC3765
|
|
21
|
-
* https://github.com/matrix-org/matrix-spec-proposals/pull/3765
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* ```
|
|
25
|
-
* {
|
|
26
|
-
* "type": "m.room.topic,
|
|
27
|
-
* "state_key": "",
|
|
28
|
-
* "content": {
|
|
29
|
-
* "topic": "All about **pizza**",
|
|
30
|
-
* "m.topic": [{
|
|
31
|
-
* "body": "All about **pizza**",
|
|
32
|
-
* "mimetype": "text/plain",
|
|
33
|
-
* }, {
|
|
34
|
-
* "body": "All about <b>pizza</b>",
|
|
35
|
-
* "mimetype": "text/html",
|
|
36
|
-
* }],
|
|
37
|
-
* }
|
|
38
|
-
* }
|
|
39
|
-
* ```
|
|
40
|
-
*/
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* The event type for an m.topic event (in content)
|
|
44
|
-
*/
|
|
45
|
-
export const M_TOPIC = new NamespacedValue("m.topic", null);
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* The event content for an m.topic event (in content)
|
|
49
|
-
*/
|
|
50
|
-
export type MTopicContent = { "m.text": IMessageRendering[] };
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* A previous incorrect form of m.topic used by matrix-js-sdk
|
|
54
|
-
* TODO remove this after a few releases
|
|
55
|
-
* https://github.com/matrix-org/matrix-js-sdk/pull/4984#pullrequestreview-3174251065
|
|
56
|
-
*/
|
|
57
|
-
export type MalformedMTopicEvent = { "m.topic": IMessageRendering[] };
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* The event definition for an m.topic event (in content)
|
|
61
|
-
*/
|
|
62
|
-
export type MTopicEvent = { "m.topic": MTopicContent } | MalformedMTopicEvent;
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* The event content for an m.room.topic event
|
|
66
|
-
*/
|
|
67
|
-
export type MRoomTopicEventContent = {
|
|
68
|
-
topic: string | null | undefined;
|
|
69
|
-
} & Partial<MTopicEvent>;
|
|
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
|
+
import { NamespacedValue } from "../NamespacedValue.ts";
|
|
17
|
+
import { type IMessageRendering } from "./extensible_events.ts";
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Extensible topic event type based on MSC3765
|
|
21
|
+
* https://github.com/matrix-org/matrix-spec-proposals/pull/3765
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```
|
|
25
|
+
* {
|
|
26
|
+
* "type": "m.room.topic,
|
|
27
|
+
* "state_key": "",
|
|
28
|
+
* "content": {
|
|
29
|
+
* "topic": "All about **pizza**",
|
|
30
|
+
* "m.topic": [{
|
|
31
|
+
* "body": "All about **pizza**",
|
|
32
|
+
* "mimetype": "text/plain",
|
|
33
|
+
* }, {
|
|
34
|
+
* "body": "All about <b>pizza</b>",
|
|
35
|
+
* "mimetype": "text/html",
|
|
36
|
+
* }],
|
|
37
|
+
* }
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* The event type for an m.topic event (in content)
|
|
44
|
+
*/
|
|
45
|
+
export const M_TOPIC = new NamespacedValue("m.topic", null);
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* The event content for an m.topic event (in content)
|
|
49
|
+
*/
|
|
50
|
+
export type MTopicContent = { "m.text": IMessageRendering[] };
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* A previous incorrect form of m.topic used by matrix-js-sdk
|
|
54
|
+
* TODO remove this after a few releases
|
|
55
|
+
* https://github.com/matrix-org/matrix-js-sdk/pull/4984#pullrequestreview-3174251065
|
|
56
|
+
*/
|
|
57
|
+
export type MalformedMTopicEvent = { "m.topic": IMessageRendering[] };
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* The event definition for an m.topic event (in content)
|
|
61
|
+
*/
|
|
62
|
+
export type MTopicEvent = { "m.topic": MTopicContent } | MalformedMTopicEvent;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The event content for an m.room.topic event
|
|
66
|
+
*/
|
|
67
|
+
export type MRoomTopicEventContent = {
|
|
68
|
+
topic: string | null | undefined;
|
|
69
|
+
} & Partial<MTopicEvent>;
|