async-matrix 0.1.2 → 1.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.
- checksums.yaml +4 -4
- data/README.md +131 -0
- data/data/matrix-spec/api/client-server/account-data.yaml +389 -0
- data/data/matrix-spec/api/client-server/account_deactivation.yaml +149 -0
- data/data/matrix-spec/api/client-server/admin.yaml +512 -0
- data/data/matrix-spec/api/client-server/administrative_contact.yaml +620 -0
- data/data/matrix-spec/api/client-server/appservice_ping.yaml +183 -0
- data/data/matrix-spec/api/client-server/appservice_room_directory.yaml +104 -0
- data/data/matrix-spec/api/client-server/authed-content-repo.yaml +590 -0
- data/data/matrix-spec/api/client-server/banning.yaml +177 -0
- data/data/matrix-spec/api/client-server/capabilities.yaml +235 -0
- data/data/matrix-spec/api/client-server/content-repo.yaml +887 -0
- data/data/matrix-spec/api/client-server/create_room.yaml +306 -0
- data/data/matrix-spec/api/client-server/cross_signing.yaml +300 -0
- data/data/matrix-spec/api/client-server/definitions/auth_data.yaml +34 -0
- data/data/matrix-spec/api/client-server/definitions/auth_response.yaml +62 -0
- data/data/matrix-spec/api/client-server/definitions/client_device.yaml +44 -0
- data/data/matrix-spec/api/client-server/definitions/client_event.yaml +49 -0
- data/data/matrix-spec/api/client-server/definitions/client_event_without_room_id.yaml +147 -0
- data/data/matrix-spec/api/client-server/definitions/cross_signing_key.yaml +57 -0
- data/data/matrix-spec/api/client-server/definitions/device_keys.yaml +70 -0
- data/data/matrix-spec/api/client-server/definitions/errors/error.yaml +26 -0
- data/data/matrix-spec/api/client-server/definitions/errors/rate_limited.yaml +34 -0
- data/data/matrix-spec/api/client-server/definitions/event_batch.yaml +22 -0
- data/data/matrix-spec/api/client-server/definitions/event_filter.yaml +55 -0
- data/data/matrix-spec/api/client-server/definitions/invite_3pid.yaml +45 -0
- data/data/matrix-spec/api/client-server/definitions/key_backup_auth_data.yaml +36 -0
- data/data/matrix-spec/api/client-server/definitions/key_backup_data.yaml +50 -0
- data/data/matrix-spec/api/client-server/definitions/key_backup_session_data.yaml +57 -0
- data/data/matrix-spec/api/client-server/definitions/m.login.terms_params.yaml +83 -0
- data/data/matrix-spec/api/client-server/definitions/m.mentions.yaml +33 -0
- data/data/matrix-spec/api/client-server/definitions/m.oauth_params.yaml +30 -0
- data/data/matrix-spec/api/client-server/definitions/m.relates_to.yaml +45 -0
- data/data/matrix-spec/api/client-server/definitions/megolm_export_session_data.yaml +39 -0
- data/data/matrix-spec/api/client-server/definitions/olm_payload.yaml +88 -0
- data/data/matrix-spec/api/client-server/definitions/one_time_keys.yaml +27 -0
- data/data/matrix-spec/api/client-server/definitions/openid_token.yaml +37 -0
- data/data/matrix-spec/api/client-server/definitions/protocol.yaml +44 -0
- data/data/matrix-spec/api/client-server/definitions/public_rooms_chunk.yaml +74 -0
- data/data/matrix-spec/api/client-server/definitions/public_rooms_response.yaml +59 -0
- data/data/matrix-spec/api/client-server/definitions/push_condition.yaml +53 -0
- data/data/matrix-spec/api/client-server/definitions/push_rule.yaml +53 -0
- data/data/matrix-spec/api/client-server/definitions/push_ruleset.yaml +206 -0
- data/data/matrix-spec/api/client-server/definitions/recent_emoji.yaml +29 -0
- data/data/matrix-spec/api/client-server/definitions/request_email_validation.yaml +36 -0
- data/data/matrix-spec/api/client-server/definitions/request_msisdn_validation.yaml +36 -0
- data/data/matrix-spec/api/client-server/definitions/request_token_response.yaml +46 -0
- data/data/matrix-spec/api/client-server/definitions/room_event_filter.yaml +60 -0
- data/data/matrix-spec/api/client-server/definitions/room_key_backup.yaml +37 -0
- data/data/matrix-spec/api/client-server/definitions/room_summary.yaml +44 -0
- data/data/matrix-spec/api/client-server/definitions/security.yaml +47 -0
- data/data/matrix-spec/api/client-server/definitions/sso_login_flow.yaml +98 -0
- data/data/matrix-spec/api/client-server/definitions/state_event_batch.yaml +21 -0
- data/data/matrix-spec/api/client-server/definitions/sync_filter.yaml +86 -0
- data/data/matrix-spec/api/client-server/definitions/tag.yaml +24 -0
- data/data/matrix-spec/api/client-server/definitions/third_party_signed.yaml +45 -0
- data/data/matrix-spec/api/client-server/definitions/timeline_batch.yaml +36 -0
- data/data/matrix-spec/api/client-server/definitions/user_identifier.yaml +27 -0
- data/data/matrix-spec/api/client-server/definitions/wellknown/full.yaml +38 -0
- data/data/matrix-spec/api/client-server/definitions/wellknown/homeserver.yaml +25 -0
- data/data/matrix-spec/api/client-server/definitions/wellknown/identity_server.yaml +25 -0
- data/data/matrix-spec/api/client-server/device_management.yaml +314 -0
- data/data/matrix-spec/api/client-server/directory.yaml +318 -0
- data/data/matrix-spec/api/client-server/event_context.yaml +161 -0
- data/data/matrix-spec/api/client-server/filter.yaml +224 -0
- data/data/matrix-spec/api/client-server/inviting.yaml +149 -0
- data/data/matrix-spec/api/client-server/joining.yaml +238 -0
- data/data/matrix-spec/api/client-server/key_backup.yaml +993 -0
- data/data/matrix-spec/api/client-server/keys.yaml +482 -0
- data/data/matrix-spec/api/client-server/kicking.yaml +110 -0
- data/data/matrix-spec/api/client-server/knocking.yaml +152 -0
- data/data/matrix-spec/api/client-server/leaving.yaml +163 -0
- data/data/matrix-spec/api/client-server/list_joined_rooms.yaml +68 -0
- data/data/matrix-spec/api/client-server/list_public_rooms.yaml +280 -0
- data/data/matrix-spec/api/client-server/login.yaml +321 -0
- data/data/matrix-spec/api/client-server/login_token.yaml +138 -0
- data/data/matrix-spec/api/client-server/logout.yaml +86 -0
- data/data/matrix-spec/api/client-server/message_pagination.yaml +194 -0
- data/data/matrix-spec/api/client-server/notifications.yaml +152 -0
- data/data/matrix-spec/api/client-server/oauth_server_metadata.yaml +238 -0
- data/data/matrix-spec/api/client-server/old_sync.yaml +379 -0
- data/data/matrix-spec/api/client-server/openid.yaml +98 -0
- data/data/matrix-spec/api/client-server/password_management.yaml +246 -0
- data/data/matrix-spec/api/client-server/peeking_events.yaml +122 -0
- data/data/matrix-spec/api/client-server/policy_server.yaml +82 -0
- data/data/matrix-spec/api/client-server/presence.yaml +169 -0
- data/data/matrix-spec/api/client-server/profile.yaml +366 -0
- data/data/matrix-spec/api/client-server/pusher.yaml +303 -0
- data/data/matrix-spec/api/client-server/pushrules.yaml +633 -0
- data/data/matrix-spec/api/client-server/read_markers.yaml +103 -0
- data/data/matrix-spec/api/client-server/receipts.yaml +139 -0
- data/data/matrix-spec/api/client-server/redaction.yaml +116 -0
- data/data/matrix-spec/api/client-server/refresh.yaml +119 -0
- data/data/matrix-spec/api/client-server/registration.yaml +488 -0
- data/data/matrix-spec/api/client-server/registration_tokens.yaml +93 -0
- data/data/matrix-spec/api/client-server/relations.yaml +382 -0
- data/data/matrix-spec/api/client-server/report_content.yaml +283 -0
- data/data/matrix-spec/api/client-server/room_event_by_timestamp.yaml +147 -0
- data/data/matrix-spec/api/client-server/room_initial_sync.yaml +188 -0
- data/data/matrix-spec/api/client-server/room_send.yaml +130 -0
- data/data/matrix-spec/api/client-server/room_state.yaml +159 -0
- data/data/matrix-spec/api/client-server/room_summary.yaml +138 -0
- data/data/matrix-spec/api/client-server/room_upgrades.yaml +130 -0
- data/data/matrix-spec/api/client-server/rooms.yaml +380 -0
- data/data/matrix-spec/api/client-server/search.yaml +385 -0
- data/data/matrix-spec/api/client-server/space_hierarchy.yaml +237 -0
- data/data/matrix-spec/api/client-server/sso_login_redirect.yaml +135 -0
- data/data/matrix-spec/api/client-server/support.yaml +142 -0
- data/data/matrix-spec/api/client-server/sync.yaml +692 -0
- data/data/matrix-spec/api/client-server/tags.yaml +183 -0
- data/data/matrix-spec/api/client-server/third_party_lookup.yaml +324 -0
- data/data/matrix-spec/api/client-server/third_party_membership.yaml +139 -0
- data/data/matrix-spec/api/client-server/threads_list.yaml +167 -0
- data/data/matrix-spec/api/client-server/to_device.yaml +104 -0
- data/data/matrix-spec/api/client-server/typing.yaml +103 -0
- data/data/matrix-spec/api/client-server/users.yaml +136 -0
- data/data/matrix-spec/api/client-server/versions.yaml +108 -0
- data/data/matrix-spec/api/client-server/voip.yaml +93 -0
- data/data/matrix-spec/api/client-server/wellknown.yaml +60 -0
- data/data/matrix-spec/api/client-server/whoami.yaml +121 -0
- data/data/matrix-spec/event-schemas/examples/core/event.json +6 -0
- data/data/matrix-spec/event-schemas/examples/core/room_edu.json +3 -0
- data/data/matrix-spec/event-schemas/examples/core/room_event.json +11 -0
- data/data/matrix-spec/event-schemas/examples/core/state_event.json +4 -0
- data/data/matrix-spec/event-schemas/examples/invite_room_state.json +18 -0
- data/data/matrix-spec/event-schemas/examples/knock_room_state.json +18 -0
- data/data/matrix-spec/event-schemas/examples/m.accepted_terms.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.call.answer.yaml +21 -0
- data/data/matrix-spec/event-schemas/examples/m.call.candidates.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.call.hangup.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.call.invite.yaml +22 -0
- data/data/matrix-spec/event-schemas/examples/m.call.negotiate.yaml +22 -0
- data/data/matrix-spec/event-schemas/examples/m.call.reject.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.call.sdp_stream_metadata_changed.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.call.select_answer.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.direct.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.dummy.yaml +4 -0
- data/data/matrix-spec/event-schemas/examples/m.forwarded_room_key.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.fully_read.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.identity_server.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.ignored_user_list.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.invite_permission_config.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.accept.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.cancel.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.done.yaml +6 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.key.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.mac.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.ready.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.request.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.start$m.sas.v1.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.key.verification.start.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.key_backup.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.marked_unread.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.policy.rule.room.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.policy.rule.server.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.policy.rule.user.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.presence.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.push_rules.yaml +177 -0
- data/data/matrix-spec/event-schemas/examples/m.reaction.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.receipt.yaml +18 -0
- data/data/matrix-spec/event-schemas/examples/m.recent_emoji.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.room.avatar.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.canonical_alias.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.room.create.yaml +13 -0
- data/data/matrix-spec/event-schemas/examples/m.room.encrypted$megolm.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.room.encrypted$olm.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.encryption.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.guest_access.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.history_visibility.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.join_rules$restricted.yaml +18 -0
- data/data/matrix-spec/event-schemas/examples/m.room.join_rules.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member$invite_room_state.yaml +15 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member$join_authorised_via_users_server.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member$knock_room_state.yaml +15 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member$third_party_invite.yaml +20 -0
- data/data/matrix-spec/event-schemas/examples/m.room.member.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.audio.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.emote.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.file.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.image.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.key.verification.request.yaml +19 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.location.yaml +18 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.notice.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.server_notice.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.text.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.message$m.video.yaml +23 -0
- data/data/matrix-spec/event-schemas/examples/m.room.name.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.pinned_events.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.policy.yaml +11 -0
- data/data/matrix-spec/event-schemas/examples/m.room.power_levels.yaml +24 -0
- data/data/matrix-spec/event-schemas/examples/m.room.redaction.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room.server_acl.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room.third_party_invite.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.room.tombstone.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.room.topic.yaml +16 -0
- data/data/matrix-spec/event-schemas/examples/m.room_key.withheld.yaml +12 -0
- data/data/matrix-spec/event-schemas/examples/m.room_key.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.room_key_request$cancel_request.yaml +8 -0
- data/data/matrix-spec/event-schemas/examples/m.room_key_request$request.yaml +14 -0
- data/data/matrix-spec/event-schemas/examples/m.secret.request.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.secret.send.yaml +7 -0
- data/data/matrix-spec/event-schemas/examples/m.space.child.yaml +10 -0
- data/data/matrix-spec/event-schemas/examples/m.space.parent.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.sticker.yaml +22 -0
- data/data/matrix-spec/event-schemas/examples/m.tag.yaml +9 -0
- data/data/matrix-spec/event-schemas/examples/m.typing.yaml +7 -0
- data/data/matrix-spec/event-schemas/moderation_policy_rule.yaml +32 -0
- data/data/matrix-spec/event-schemas/schema/components/m_text_content_block.yaml +28 -0
- data/data/matrix-spec/event-schemas/schema/components/sdp_stream_metadata.yaml +43 -0
- data/data/matrix-spec/event-schemas/schema/components/signed_third_party_invite.yaml +48 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/call_event.yaml +27 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/event.yaml +16 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/avatar_info.yaml +30 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/image_info.yaml +52 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/thumbnail_info.yaml +22 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/room_event.yaml +17 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/state_event.yaml +8 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/stripped_state.yaml +48 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/sync_room_event.yaml +49 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/sync_state_event.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/core-event-schema/unsigned_prop.yaml +23 -0
- data/data/matrix-spec/event-schemas/schema/m.accepted_terms.yaml +25 -0
- data/data/matrix-spec/event-schemas/schema/m.call.answer.yaml +44 -0
- data/data/matrix-spec/event-schemas/schema/m.call.candidates.yaml +52 -0
- data/data/matrix-spec/event-schemas/schema/m.call.hangup.yaml +57 -0
- data/data/matrix-spec/event-schemas/schema/m.call.invite.yaml +53 -0
- data/data/matrix-spec/event-schemas/schema/m.call.negotiate.yaml +78 -0
- data/data/matrix-spec/event-schemas/schema/m.call.reject.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.call.sdp_stream_metadata_changed.yaml +24 -0
- data/data/matrix-spec/event-schemas/schema/m.call.select_answer.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.direct.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.dummy.yaml +25 -0
- data/data/matrix-spec/event-schemas/schema/m.forwarded_room_key.yaml +70 -0
- data/data/matrix-spec/event-schemas/schema/m.fully_read.yaml +26 -0
- data/data/matrix-spec/event-schemas/schema/m.identity_server.yaml +28 -0
- data/data/matrix-spec/event-schemas/schema/m.ignored_user_list.yaml +30 -0
- data/data/matrix-spec/event-schemas/schema/m.invite_permission_config.yaml +21 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.accept.yaml +63 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.cancel.yaml +72 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.done.yaml +24 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.key.yaml +31 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.m.relates_to.yaml +23 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.mac.yaml +43 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.ready.yaml +41 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.request.yaml +47 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.start$m.reciprocate.v1.yaml +45 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.start$m.sas.v1.yaml +76 -0
- data/data/matrix-spec/event-schemas/schema/m.key.verification.start.yaml +46 -0
- data/data/matrix-spec/event-schemas/schema/m.key_backup.yaml +24 -0
- data/data/matrix-spec/event-schemas/schema/m.marked_unread.yaml +26 -0
- data/data/matrix-spec/event-schemas/schema/m.policy.rule.room.yaml +17 -0
- data/data/matrix-spec/event-schemas/schema/m.policy.rule.server.yaml +17 -0
- data/data/matrix-spec/event-schemas/schema/m.policy.rule.user.yaml +17 -0
- data/data/matrix-spec/event-schemas/schema/m.presence.yaml +50 -0
- data/data/matrix-spec/event-schemas/schema/m.push_rules.yaml +23 -0
- data/data/matrix-spec/event-schemas/schema/m.reaction.yaml +45 -0
- data/data/matrix-spec/event-schemas/schema/m.receipt.yaml +65 -0
- data/data/matrix-spec/event-schemas/schema/m.recent_emoji.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.room.avatar.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.room.canonical_alias.yaml +40 -0
- data/data/matrix-spec/event-schemas/schema/m.room.create.yaml +86 -0
- data/data/matrix-spec/event-schemas/schema/m.room.encrypted.yaml +91 -0
- data/data/matrix-spec/event-schemas/schema/m.room.encryption.yaml +38 -0
- data/data/matrix-spec/event-schemas/schema/m.room.guest_access.yaml +28 -0
- data/data/matrix-spec/event-schemas/schema/m.room.history_visibility.yaml +30 -0
- data/data/matrix-spec/event-schemas/schema/m.room.join_rules.yaml +78 -0
- data/data/matrix-spec/event-schemas/schema/m.room.member.yaml +174 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.audio.yaml +73 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.emote.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.file.yaml +85 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.image.yaml +63 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.key.verification.request.yaml +70 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.location.yaml +50 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.notice.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.server_notice.yaml +41 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.text.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message$m.video.yaml +95 -0
- data/data/matrix-spec/event-schemas/schema/m.room.message.yaml +25 -0
- data/data/matrix-spec/event-schemas/schema/m.room.name.yaml +35 -0
- data/data/matrix-spec/event-schemas/schema/m.room.pinned_events.yaml +27 -0
- data/data/matrix-spec/event-schemas/schema/m.room.policy.yaml +41 -0
- data/data/matrix-spec/event-schemas/schema/m.room.power_levels.yaml +139 -0
- data/data/matrix-spec/event-schemas/schema/m.room.redaction.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.room.server_acl.yaml +88 -0
- data/data/matrix-spec/event-schemas/schema/m.room.third_party_invite.yaml +79 -0
- data/data/matrix-spec/event-schemas/schema/m.room.tombstone.yaml +29 -0
- data/data/matrix-spec/event-schemas/schema/m.room.topic.yaml +53 -0
- data/data/matrix-spec/event-schemas/schema/m.room_key.withheld.yaml +88 -0
- data/data/matrix-spec/event-schemas/schema/m.room_key.yaml +38 -0
- data/data/matrix-spec/event-schemas/schema/m.room_key_request.yaml +73 -0
- data/data/matrix-spec/event-schemas/schema/m.secret.request.yaml +42 -0
- data/data/matrix-spec/event-schemas/schema/m.secret.send.yaml +35 -0
- data/data/matrix-spec/event-schemas/schema/m.space.child.yaml +50 -0
- data/data/matrix-spec/event-schemas/schema/m.space.parent.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.sticker.yaml +36 -0
- data/data/matrix-spec/event-schemas/schema/m.tag.yaml +28 -0
- data/data/matrix-spec/event-schemas/schema/m.typing.yaml +29 -0
- data/lib/async/matrix/api/chain.rb +575 -0
- data/lib/async/matrix/api/concat.rb +105 -0
- data/lib/async/matrix/api/path_tree.rb +208 -0
- data/lib/async/matrix/api.rb +204 -0
- data/lib/async/matrix/application_service/bot.rb +235 -0
- data/lib/async/matrix/application_service/config/schema/analytics.json +21 -0
- data/lib/async/matrix/application_service/config/schema/appservice.json +82 -0
- data/lib/async/matrix/application_service/config/schema/backfill.json +91 -0
- data/lib/async/matrix/application_service/config/schema/bridge.json +209 -0
- data/lib/async/matrix/application_service/config/schema/config.json +61 -0
- data/lib/async/matrix/application_service/config/schema/database.json +38 -0
- data/lib/async/matrix/application_service/config/schema/direct_media.json +35 -0
- data/lib/async/matrix/application_service/config/schema/double_puppet.json +24 -0
- data/lib/async/matrix/application_service/config/schema/encryption.json +164 -0
- data/lib/async/matrix/application_service/config/schema/homeserver.json +58 -0
- data/lib/async/matrix/application_service/config/schema/logging.json +50 -0
- data/lib/async/matrix/application_service/config/schema/management_room_texts.json +25 -0
- data/lib/async/matrix/application_service/config/schema/matrix.json +45 -0
- data/lib/async/matrix/application_service/config/schema/permissions.json +54 -0
- data/lib/async/matrix/application_service/config/schema/provisioning.json +23 -0
- data/lib/async/matrix/application_service/config/schema/public_media.json +39 -0
- data/lib/async/matrix/application_service/config/schema/relay.json +43 -0
- data/lib/async/matrix/application_service/config/vivify.rb +110 -0
- data/lib/async/matrix/application_service/config.rb +214 -123
- data/lib/async/matrix/application_service/dispatcher.rb +115 -113
- data/lib/async/matrix/application_service/error_response.rb +26 -26
- data/lib/async/matrix/application_service/event.rb +217 -1
- data/lib/async/matrix/application_service/server.rb +286 -215
- data/lib/async/matrix/application_service/transaction.rb +52 -52
- data/lib/async/matrix/application_service/transaction_store.rb +62 -62
- data/lib/async/matrix/client.rb +919 -179
- data/lib/async/matrix/connection.rb +8 -8
- data/lib/async/matrix/endpoint.rb +45 -45
- data/lib/async/matrix/error.rb +49 -43
- data/lib/async/matrix/media_client.rb +173 -0
- data/lib/async/matrix/notifier.rb +92 -92
- data/lib/async/matrix/schema/registry.rb +355 -0
- data/lib/async/matrix/schema/validation_error.rb +226 -0
- data/lib/async/matrix/schema.rb +174 -0
- data/lib/async/matrix/server.rb +7 -7
- data/lib/async/matrix/stream.rb +7 -7
- data/lib/async/matrix/version.rb +1 -1
- data/lib/async/matrix.rb +5 -2
- metadata +353 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/event.yaml
|
|
6
|
+
description: |-
|
|
7
|
+
Persists the user's preferred identity server, or preference to not use
|
|
8
|
+
an identity server at all, in the user's account data.
|
|
9
|
+
properties:
|
|
10
|
+
content:
|
|
11
|
+
type: object
|
|
12
|
+
properties:
|
|
13
|
+
base_url:
|
|
14
|
+
anyOf:
|
|
15
|
+
- type: string
|
|
16
|
+
format: uri
|
|
17
|
+
- type: "null"
|
|
18
|
+
description: |-
|
|
19
|
+
The URL of the identity server the user prefers to use, or `null`
|
|
20
|
+
if the user does not want to use an identity server. This value is
|
|
21
|
+
similar in structure to the `base_url` for identity servers in the
|
|
22
|
+
`.well-known/matrix/client` schema.
|
|
23
|
+
type:
|
|
24
|
+
enum:
|
|
25
|
+
- m.identity_server
|
|
26
|
+
type: string
|
|
27
|
+
title: Identity Server Preference
|
|
28
|
+
type: object
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/event.yaml
|
|
6
|
+
description: |-
|
|
7
|
+
A map of users which are considered ignored is kept in `account_data`
|
|
8
|
+
in an event type of `m.ignored_user_list`.
|
|
9
|
+
properties:
|
|
10
|
+
content:
|
|
11
|
+
type: object
|
|
12
|
+
properties:
|
|
13
|
+
ignored_users:
|
|
14
|
+
type: object
|
|
15
|
+
description: |-
|
|
16
|
+
The map of users to ignore. This is a mapping of user ID to empty
|
|
17
|
+
object.
|
|
18
|
+
patternProperties:
|
|
19
|
+
"^@":
|
|
20
|
+
type: "object"
|
|
21
|
+
description: "An empty object for future enhancement"
|
|
22
|
+
x-pattern-format: "mx-user-id"
|
|
23
|
+
required:
|
|
24
|
+
- ignored_users
|
|
25
|
+
type:
|
|
26
|
+
enum:
|
|
27
|
+
- m.ignored_user_list
|
|
28
|
+
type: string
|
|
29
|
+
title: Ignored User List
|
|
30
|
+
type: object
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
allOf:
|
|
4
|
+
- $ref: core-event-schema/event.yaml
|
|
5
|
+
- title: Invite Permission
|
|
6
|
+
type: object
|
|
7
|
+
description: |-
|
|
8
|
+
The permission configuration for receiving invites for the current account.
|
|
9
|
+
properties:
|
|
10
|
+
content:
|
|
11
|
+
type: object
|
|
12
|
+
properties:
|
|
13
|
+
default_action:
|
|
14
|
+
type: string
|
|
15
|
+
description: |-
|
|
16
|
+
When set to `block`, the user does not wish to receive *any* room invites, and they
|
|
17
|
+
should be rejected automatically by the homeserver.
|
|
18
|
+
|
|
19
|
+
A missing, invalid or unsupported value means that the user wants to receive invites
|
|
20
|
+
as normal. Other parts of the specification might still have effects on invites, like
|
|
21
|
+
[ignoring users](/client-server-api/#ignoring-users).
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/event.yaml
|
|
6
|
+
|
|
7
|
+
description: |-
|
|
8
|
+
Accepts a previously sent `m.key.verification.start` message.
|
|
9
|
+
properties:
|
|
10
|
+
content:
|
|
11
|
+
properties:
|
|
12
|
+
transaction_id:
|
|
13
|
+
type: string
|
|
14
|
+
description: |-
|
|
15
|
+
Required when sent as a to-device message. An opaque identifier for
|
|
16
|
+
the verification process. Must be the same as the one used for the
|
|
17
|
+
`m.key.verification.start` message.
|
|
18
|
+
key_agreement_protocol:
|
|
19
|
+
type: string
|
|
20
|
+
description: |-
|
|
21
|
+
The key agreement protocol the device is choosing to use, out of the
|
|
22
|
+
options in the `m.key.verification.start` message.
|
|
23
|
+
hash:
|
|
24
|
+
type: string
|
|
25
|
+
description: |-
|
|
26
|
+
The hash method the device is choosing to use, out of the options in
|
|
27
|
+
the `m.key.verification.start` message.
|
|
28
|
+
message_authentication_code:
|
|
29
|
+
type: string
|
|
30
|
+
description: |-
|
|
31
|
+
The message authentication code method the device is choosing to use, out of
|
|
32
|
+
the options in the `m.key.verification.start` message.
|
|
33
|
+
short_authentication_string:
|
|
34
|
+
type: array
|
|
35
|
+
description: |-
|
|
36
|
+
The SAS methods both devices involved in the verification process
|
|
37
|
+
understand. Must be a subset of the options in the `m.key.verification.start`
|
|
38
|
+
message.
|
|
39
|
+
items:
|
|
40
|
+
type: string
|
|
41
|
+
enum: ["decimal", "emoji"]
|
|
42
|
+
commitment:
|
|
43
|
+
type: string
|
|
44
|
+
description: |-
|
|
45
|
+
The hash (encoded as unpadded base64) of the concatenation of the device's
|
|
46
|
+
ephemeral public key (encoded as unpadded base64) and the canonical JSON
|
|
47
|
+
representation of the `content` object of the `m.key.verification.start`
|
|
48
|
+
message.
|
|
49
|
+
m.relates_to:
|
|
50
|
+
$ref: m.key.verification.m.relates_to.yaml
|
|
51
|
+
required:
|
|
52
|
+
- method
|
|
53
|
+
- key_agreement_protocol
|
|
54
|
+
- hash
|
|
55
|
+
- message_authentication_code
|
|
56
|
+
- short_authentication_string
|
|
57
|
+
- commitment
|
|
58
|
+
type: object
|
|
59
|
+
type:
|
|
60
|
+
enum:
|
|
61
|
+
- m.key.verification.accept
|
|
62
|
+
type: string
|
|
63
|
+
type: object
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/event.yaml
|
|
6
|
+
|
|
7
|
+
description: |-
|
|
8
|
+
Cancels a key verification process/request.
|
|
9
|
+
properties:
|
|
10
|
+
content:
|
|
11
|
+
properties:
|
|
12
|
+
transaction_id:
|
|
13
|
+
type: string
|
|
14
|
+
description: |-
|
|
15
|
+
Required when sent as a to-device message. The opaque identifier for
|
|
16
|
+
the verification process/request.
|
|
17
|
+
reason:
|
|
18
|
+
type: string
|
|
19
|
+
description: |-
|
|
20
|
+
A human readable description of the `code`. The client should only rely on this
|
|
21
|
+
string if it does not understand the `code`.
|
|
22
|
+
code:
|
|
23
|
+
type: string
|
|
24
|
+
# Note: this is not an enum because we go into detail about the different
|
|
25
|
+
# error codes. If we made this an enum, we'd be repeating information.
|
|
26
|
+
# Also, we can't put a real bulleted list in here because the HTML2RST parser
|
|
27
|
+
# cuts the text at weird points, breaking the list completely.
|
|
28
|
+
description: |-
|
|
29
|
+
The error code for why the process/request was cancelled by the user. Error
|
|
30
|
+
codes should use the Java package naming convention if not in the following
|
|
31
|
+
list:
|
|
32
|
+
|
|
33
|
+
* `m.user`: The user cancelled the verification.
|
|
34
|
+
|
|
35
|
+
* `m.timeout`: The verification process timed out. Verification processes
|
|
36
|
+
can define their own timeout parameters.
|
|
37
|
+
|
|
38
|
+
* `m.unknown_transaction`: The device does not know about the given transaction
|
|
39
|
+
ID.
|
|
40
|
+
|
|
41
|
+
* `m.unknown_method`: The device does not know how to handle the requested
|
|
42
|
+
method. This should be sent for `m.key.verification.start` messages and
|
|
43
|
+
messages defined by individual verification processes.
|
|
44
|
+
|
|
45
|
+
* `m.unexpected_message`: The device received an unexpected message. Typically
|
|
46
|
+
raised when one of the parties is handling the verification out of order.
|
|
47
|
+
|
|
48
|
+
* `m.key_mismatch`: The key was not verified.
|
|
49
|
+
|
|
50
|
+
* `m.user_mismatch`: The expected user did not match the user verified.
|
|
51
|
+
|
|
52
|
+
* `m.invalid_message`: The message received was invalid.
|
|
53
|
+
|
|
54
|
+
* `m.accepted`: A `m.key.verification.request` was accepted by a different
|
|
55
|
+
device. The device receiving this error can ignore the verification request.
|
|
56
|
+
|
|
57
|
+
Clients should be careful to avoid error loops. For example, if a device sends
|
|
58
|
+
an incorrect message and the client returns `m.invalid_message` to which it
|
|
59
|
+
gets an unexpected response with `m.unexpected_message`, the client should not
|
|
60
|
+
respond again with `m.unexpected_message` to avoid the other device potentially
|
|
61
|
+
sending another error response.
|
|
62
|
+
m.relates_to:
|
|
63
|
+
$ref: m.key.verification.m.relates_to.yaml
|
|
64
|
+
required:
|
|
65
|
+
- code
|
|
66
|
+
- reason
|
|
67
|
+
type: object
|
|
68
|
+
type:
|
|
69
|
+
enum:
|
|
70
|
+
- m.key.verification.cancel
|
|
71
|
+
type: string
|
|
72
|
+
type: object
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/event.yaml
|
|
6
|
+
|
|
7
|
+
description: |-
|
|
8
|
+
Indicates that a verification process/request has completed successfully.
|
|
9
|
+
properties:
|
|
10
|
+
content:
|
|
11
|
+
properties:
|
|
12
|
+
transaction_id:
|
|
13
|
+
type: string
|
|
14
|
+
description: |-
|
|
15
|
+
Required when sent as a to-device message. The opaque identifier for
|
|
16
|
+
the verification process/request.
|
|
17
|
+
m.relates_to:
|
|
18
|
+
$ref: m.key.verification.m.relates_to.yaml
|
|
19
|
+
type: object
|
|
20
|
+
type:
|
|
21
|
+
enum:
|
|
22
|
+
- m.key.verification.done
|
|
23
|
+
type: string
|
|
24
|
+
type: object
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/event.yaml
|
|
6
|
+
|
|
7
|
+
description: |-
|
|
8
|
+
Sends the ephemeral public key for a device to the partner device.
|
|
9
|
+
properties:
|
|
10
|
+
content:
|
|
11
|
+
properties:
|
|
12
|
+
transaction_id:
|
|
13
|
+
type: string
|
|
14
|
+
description: |-
|
|
15
|
+
Required when sent as a to-device message. An opaque identifier for
|
|
16
|
+
the verification process. Must be the same as the one used for the
|
|
17
|
+
`m.key.verification.start` message.
|
|
18
|
+
key:
|
|
19
|
+
type: string
|
|
20
|
+
description: |-
|
|
21
|
+
The device's ephemeral public key, encoded as unpadded base64.
|
|
22
|
+
m.relates_to:
|
|
23
|
+
$ref: m.key.verification.m.relates_to.yaml
|
|
24
|
+
required:
|
|
25
|
+
- key
|
|
26
|
+
type: object
|
|
27
|
+
type:
|
|
28
|
+
enum:
|
|
29
|
+
- m.key.verification.key
|
|
30
|
+
type: string
|
|
31
|
+
type: object
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
description: |-
|
|
5
|
+
Required when sent as an in-room message. Indicates the
|
|
6
|
+
`m.key.verification.request` that this message is related to. Note that for
|
|
7
|
+
encrypted messages, this property should be in the unencrypted portion of the
|
|
8
|
+
event.
|
|
9
|
+
properties:
|
|
10
|
+
rel_type:
|
|
11
|
+
type: string
|
|
12
|
+
enum:
|
|
13
|
+
- m.reference
|
|
14
|
+
description: |-
|
|
15
|
+
The relationship type. Currently, this can only be an
|
|
16
|
+
[`m.reference`](/client-server-api/#reference-relations) relationship type.
|
|
17
|
+
event_id:
|
|
18
|
+
type: string
|
|
19
|
+
description: |-
|
|
20
|
+
The event ID of the `m.key.verification.request` that this message is
|
|
21
|
+
related to.
|
|
22
|
+
type: object
|
|
23
|
+
title: VerificationRelatesTo
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/event.yaml
|
|
6
|
+
|
|
7
|
+
description: |-
|
|
8
|
+
Sends the MAC of a device's key to the partner device. The MAC is calculated
|
|
9
|
+
using the method given in `message_authentication_code` property of the
|
|
10
|
+
`m.key.verification.accept` message.
|
|
11
|
+
properties:
|
|
12
|
+
content:
|
|
13
|
+
properties:
|
|
14
|
+
transaction_id:
|
|
15
|
+
type: string
|
|
16
|
+
description: |-
|
|
17
|
+
Required when sent as a to-device message. An opaque identifier for
|
|
18
|
+
the verification process. Must be the same as the one used for the
|
|
19
|
+
`m.key.verification.start` message.
|
|
20
|
+
mac:
|
|
21
|
+
type: object
|
|
22
|
+
description: |-
|
|
23
|
+
A map of the key ID to the MAC of the key, using the algorithm in the
|
|
24
|
+
verification process. The MAC is encoded as unpadded base64.
|
|
25
|
+
additionalProperties:
|
|
26
|
+
type: string
|
|
27
|
+
description: The key's MAC, encoded as unpadded base64.
|
|
28
|
+
keys:
|
|
29
|
+
type: string
|
|
30
|
+
description: |-
|
|
31
|
+
The MAC of the comma-separated, sorted, list of key IDs given in the `mac`
|
|
32
|
+
property, encoded as unpadded base64.
|
|
33
|
+
m.relates_to:
|
|
34
|
+
$ref: m.key.verification.m.relates_to.yaml
|
|
35
|
+
required:
|
|
36
|
+
- mac
|
|
37
|
+
- keys
|
|
38
|
+
type: object
|
|
39
|
+
type:
|
|
40
|
+
enum:
|
|
41
|
+
- m.key.verification.mac
|
|
42
|
+
type: string
|
|
43
|
+
type: object
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/event.yaml
|
|
6
|
+
|
|
7
|
+
description: |-
|
|
8
|
+
Accepts a key verification request. Sent in response to an
|
|
9
|
+
`m.key.verification.request` event.
|
|
10
|
+
properties:
|
|
11
|
+
content:
|
|
12
|
+
properties:
|
|
13
|
+
from_device:
|
|
14
|
+
type: string
|
|
15
|
+
description: |-
|
|
16
|
+
The device ID which is accepting the request.
|
|
17
|
+
transaction_id:
|
|
18
|
+
type: string
|
|
19
|
+
description: |-
|
|
20
|
+
Required when sent as a to-device message. The transaction ID of the
|
|
21
|
+
verification request, as given in the `m.key.verification.request`
|
|
22
|
+
message.
|
|
23
|
+
methods:
|
|
24
|
+
type: array
|
|
25
|
+
description: |-
|
|
26
|
+
The verification methods supported by the sender, corresponding to
|
|
27
|
+
the verification methods indicated in the
|
|
28
|
+
`m.key.verification.request` message.
|
|
29
|
+
items:
|
|
30
|
+
type: string
|
|
31
|
+
m.relates_to:
|
|
32
|
+
$ref: m.key.verification.m.relates_to.yaml
|
|
33
|
+
required:
|
|
34
|
+
- from_device
|
|
35
|
+
- methods
|
|
36
|
+
type: object
|
|
37
|
+
type:
|
|
38
|
+
enum:
|
|
39
|
+
- m.key.verification.ready
|
|
40
|
+
type: string
|
|
41
|
+
type: object
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/event.yaml
|
|
6
|
+
|
|
7
|
+
description: |-
|
|
8
|
+
Requests a key verification using to-device messaging. When requesting a key
|
|
9
|
+
verification in a room, a `m.room.message` should be used, with
|
|
10
|
+
[`m.key.verification.request`](/client-server-api/#mroommessagemkeyverificationrequest)
|
|
11
|
+
as msgtype.
|
|
12
|
+
properties:
|
|
13
|
+
content:
|
|
14
|
+
properties:
|
|
15
|
+
from_device:
|
|
16
|
+
type: string
|
|
17
|
+
description: |-
|
|
18
|
+
The device ID which is initiating the request.
|
|
19
|
+
transaction_id:
|
|
20
|
+
type: string
|
|
21
|
+
description: |-
|
|
22
|
+
Required when sent as a to-device message. An opaque identifier for
|
|
23
|
+
the verification request. Must be unique with respect to the devices
|
|
24
|
+
involved.
|
|
25
|
+
methods:
|
|
26
|
+
type: array
|
|
27
|
+
description: |-
|
|
28
|
+
The verification methods supported by the sender.
|
|
29
|
+
items:
|
|
30
|
+
type: string
|
|
31
|
+
timestamp:
|
|
32
|
+
type: integer
|
|
33
|
+
format: int64
|
|
34
|
+
description: |-
|
|
35
|
+
Required when sent as a to-device message. The POSIX timestamp in
|
|
36
|
+
milliseconds for when the request was made. If the request is in the
|
|
37
|
+
future by more than 5 minutes or more than 10 minutes in the past,
|
|
38
|
+
the message should be ignored by the receiver.
|
|
39
|
+
required:
|
|
40
|
+
- from_device
|
|
41
|
+
- methods
|
|
42
|
+
type: object
|
|
43
|
+
type:
|
|
44
|
+
enum:
|
|
45
|
+
- m.key.verification.request
|
|
46
|
+
type: string
|
|
47
|
+
type: object
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/event.yaml
|
|
6
|
+
|
|
7
|
+
description: |-
|
|
8
|
+
Begins a key verification process using the `m.reciprocate.v1` method, after
|
|
9
|
+
scanning a QR code.
|
|
10
|
+
properties:
|
|
11
|
+
content:
|
|
12
|
+
properties:
|
|
13
|
+
from_device:
|
|
14
|
+
type: string
|
|
15
|
+
description: |-
|
|
16
|
+
The device ID which is initiating the process.
|
|
17
|
+
transaction_id:
|
|
18
|
+
type: string
|
|
19
|
+
description: |-
|
|
20
|
+
Required when sent as a to-device message. An opaque identifier for
|
|
21
|
+
the verification process. Must be unique with respect to the devices
|
|
22
|
+
involved. Must be the same as the `transaction_id` given in the
|
|
23
|
+
`m.key.verification.request` if this process is originating from a
|
|
24
|
+
request.
|
|
25
|
+
method:
|
|
26
|
+
type: string
|
|
27
|
+
enum: ["m.reciprocate.v1"]
|
|
28
|
+
description: |-
|
|
29
|
+
The verification method to use.
|
|
30
|
+
secret:
|
|
31
|
+
type: string
|
|
32
|
+
description: |-
|
|
33
|
+
The shared secret from the QR code, encoded using unpadded base64.
|
|
34
|
+
m.relates_to:
|
|
35
|
+
$ref: m.key.verification.m.relates_to.yaml
|
|
36
|
+
required:
|
|
37
|
+
- from_device
|
|
38
|
+
- method
|
|
39
|
+
- secret
|
|
40
|
+
type: object
|
|
41
|
+
type:
|
|
42
|
+
enum:
|
|
43
|
+
- m.key.verification.start
|
|
44
|
+
type: string
|
|
45
|
+
type: object
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/event.yaml
|
|
6
|
+
|
|
7
|
+
description: |-
|
|
8
|
+
Begins a SAS key verification process using the `m.sas.v1` method.
|
|
9
|
+
properties:
|
|
10
|
+
content:
|
|
11
|
+
properties:
|
|
12
|
+
from_device:
|
|
13
|
+
type: string
|
|
14
|
+
description: |-
|
|
15
|
+
The device ID which is initiating the process.
|
|
16
|
+
transaction_id:
|
|
17
|
+
type: string
|
|
18
|
+
description: |-
|
|
19
|
+
Required when sent as a to-device message. An opaque identifier for
|
|
20
|
+
the verification process. Must be unique with respect to the devices
|
|
21
|
+
involved. Must be the same as the `transaction_id` given in the
|
|
22
|
+
`m.key.verification.request` if this process is originating from a
|
|
23
|
+
request.
|
|
24
|
+
method:
|
|
25
|
+
type: string
|
|
26
|
+
enum: ["m.sas.v1"]
|
|
27
|
+
description: |-
|
|
28
|
+
The verification method to use.
|
|
29
|
+
key_agreement_protocols:
|
|
30
|
+
type: array
|
|
31
|
+
description: |-
|
|
32
|
+
The key agreement protocols the sending device understands. Should
|
|
33
|
+
include at least `curve25519-hkdf-sha256`.
|
|
34
|
+
items:
|
|
35
|
+
type: string
|
|
36
|
+
hashes:
|
|
37
|
+
type: array
|
|
38
|
+
description: |-
|
|
39
|
+
The hash methods the sending device understands. Must include at least
|
|
40
|
+
`sha256`.
|
|
41
|
+
items:
|
|
42
|
+
type: string
|
|
43
|
+
message_authentication_codes:
|
|
44
|
+
type: array
|
|
45
|
+
description: |-
|
|
46
|
+
The message authentication code methods that the sending device understands.
|
|
47
|
+
Must include at least `hkdf-hmac-sha256.v2`. Should also include
|
|
48
|
+
`hkdf-hmac-sha256` for compatibility with older clients, though this
|
|
49
|
+
identifier is deprecated and will be removed in a future version of
|
|
50
|
+
the spec.
|
|
51
|
+
items:
|
|
52
|
+
type: string
|
|
53
|
+
short_authentication_string:
|
|
54
|
+
type: array
|
|
55
|
+
description: |-
|
|
56
|
+
The SAS methods the sending device (and the sending device's user)
|
|
57
|
+
understands. Must include at least `decimal`. Optionally can include
|
|
58
|
+
`emoji`.
|
|
59
|
+
items:
|
|
60
|
+
type: string
|
|
61
|
+
enum: ["decimal", "emoji"]
|
|
62
|
+
m.relates_to:
|
|
63
|
+
$ref: m.key.verification.m.relates_to.yaml
|
|
64
|
+
required:
|
|
65
|
+
- from_device
|
|
66
|
+
- method
|
|
67
|
+
- key_agreement_protocols
|
|
68
|
+
- hashes
|
|
69
|
+
- message_authentication_codes
|
|
70
|
+
- short_authentication_string
|
|
71
|
+
type: object
|
|
72
|
+
type:
|
|
73
|
+
enum:
|
|
74
|
+
- m.key.verification.start
|
|
75
|
+
type: string
|
|
76
|
+
type: object
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/event.yaml
|
|
6
|
+
|
|
7
|
+
description: |-
|
|
8
|
+
Begins a key verification process. Typically sent as a [to-device](/client-server-api/#send-to-device-messaging) event. The `method`
|
|
9
|
+
field determines the type of verification. The fields in the event will differ depending
|
|
10
|
+
on the `method`. This definition includes fields that are in common among all variants.
|
|
11
|
+
properties:
|
|
12
|
+
content:
|
|
13
|
+
properties:
|
|
14
|
+
from_device:
|
|
15
|
+
type: string
|
|
16
|
+
description: |-
|
|
17
|
+
The device ID which is initiating the process.
|
|
18
|
+
transaction_id:
|
|
19
|
+
type: string
|
|
20
|
+
description: |-
|
|
21
|
+
Required when sent as a to-device message. An opaque identifier for
|
|
22
|
+
the verification process. Must be unique with respect to the devices
|
|
23
|
+
involved. Must be the same as the `transaction_id` given in the
|
|
24
|
+
`m.key.verification.request` if this process is originating from a
|
|
25
|
+
request.
|
|
26
|
+
method:
|
|
27
|
+
type: string
|
|
28
|
+
description: |-
|
|
29
|
+
The verification method to use.
|
|
30
|
+
next_method:
|
|
31
|
+
type: string
|
|
32
|
+
description: |-
|
|
33
|
+
Optional method to use to verify the other user's key with. Applicable
|
|
34
|
+
when the `method` chosen only verifies one user's key. This field will
|
|
35
|
+
never be present if the `method` verifies keys both ways.
|
|
36
|
+
m.relates_to:
|
|
37
|
+
$ref: m.key.verification.m.relates_to.yaml
|
|
38
|
+
required:
|
|
39
|
+
- from_device
|
|
40
|
+
- method
|
|
41
|
+
type: object
|
|
42
|
+
type:
|
|
43
|
+
enum:
|
|
44
|
+
- m.key.verification.start
|
|
45
|
+
type: string
|
|
46
|
+
type: object
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/event.yaml
|
|
6
|
+
description: |-
|
|
7
|
+
Allows clients to track user preferences about key backup.
|
|
8
|
+
properties:
|
|
9
|
+
content:
|
|
10
|
+
type: object
|
|
11
|
+
properties:
|
|
12
|
+
enabled:
|
|
13
|
+
type: boolean
|
|
14
|
+
description: |-
|
|
15
|
+
True if the user chose to enable key backup. False if the user chose
|
|
16
|
+
to disable key backup.
|
|
17
|
+
required:
|
|
18
|
+
- enabled
|
|
19
|
+
type:
|
|
20
|
+
type: string
|
|
21
|
+
enum:
|
|
22
|
+
- m.key_backup
|
|
23
|
+
title: Key Backup Event
|
|
24
|
+
type: object
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"title": "Unread Marker Event",
|
|
5
|
+
"description": "The current state of the user's unread marker in a room. This event appears in the user's room account data for the room the marker is applicable for.",
|
|
6
|
+
"allOf": [{
|
|
7
|
+
"$ref": "core-event-schema/event.yaml"
|
|
8
|
+
}],
|
|
9
|
+
"properties": {
|
|
10
|
+
"content": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"properties": {
|
|
13
|
+
"unread": {
|
|
14
|
+
"type": "boolean",
|
|
15
|
+
"description": "Whether the room is marked unread or not."
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"required": ["unread"]
|
|
19
|
+
},
|
|
20
|
+
"type": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"enum": ["m.marked_unread"]
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"required": ["type", "content"]
|
|
26
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
$schema: https://json-schema.org/draft/2020-12/schema
|
|
3
|
+
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: core-event-schema/state_event.yaml
|
|
6
|
+
description: A moderation policy rule which affects room IDs and room aliases.
|
|
7
|
+
properties:
|
|
8
|
+
content:
|
|
9
|
+
$ref: "../moderation_policy_rule.yaml"
|
|
10
|
+
state_key:
|
|
11
|
+
description: An arbitrary string decided upon by the sender.
|
|
12
|
+
type: string
|
|
13
|
+
type:
|
|
14
|
+
enum:
|
|
15
|
+
- m.policy.rule.room
|
|
16
|
+
type: string
|
|
17
|
+
type: object
|