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,62 @@
|
|
|
1
|
+
# Copyright 2016 OpenMarket Ltd
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
title: Authentication response
|
|
15
|
+
description: |-
|
|
16
|
+
Used by servers to indicate that additional authentication information is required,
|
|
17
|
+
type: object
|
|
18
|
+
properties:
|
|
19
|
+
flows:
|
|
20
|
+
description: A list of the login flows supported by the server for this API.
|
|
21
|
+
type: array
|
|
22
|
+
items:
|
|
23
|
+
type: object
|
|
24
|
+
title: Flow information
|
|
25
|
+
properties:
|
|
26
|
+
stages:
|
|
27
|
+
description: |-
|
|
28
|
+
The login type of each of the stages required to complete this
|
|
29
|
+
authentication flow
|
|
30
|
+
type: array
|
|
31
|
+
items:
|
|
32
|
+
type: string
|
|
33
|
+
example: "example.type.foo"
|
|
34
|
+
required:
|
|
35
|
+
- stages
|
|
36
|
+
params:
|
|
37
|
+
type: object
|
|
38
|
+
description: |-
|
|
39
|
+
Contains any information that the client will need to know in order to
|
|
40
|
+
use a given type of authentication. For each login type presented,
|
|
41
|
+
that type may be present as a key in this dictionary. For example, the
|
|
42
|
+
public part of an OAuth client ID could be given here.
|
|
43
|
+
additionalProperties:
|
|
44
|
+
type: object
|
|
45
|
+
example:
|
|
46
|
+
"example.type.baz": { "example_key": "foobar" }
|
|
47
|
+
session:
|
|
48
|
+
type: string
|
|
49
|
+
description: |-
|
|
50
|
+
This is a session identifier that the client must pass back to the home
|
|
51
|
+
server, if one is provided, in subsequent attempts to authenticate in the
|
|
52
|
+
same API call.
|
|
53
|
+
example: "xxxxxxyz"
|
|
54
|
+
completed:
|
|
55
|
+
type: array
|
|
56
|
+
description: |-
|
|
57
|
+
A list of the stages the client has completed successfully
|
|
58
|
+
items:
|
|
59
|
+
type: string
|
|
60
|
+
example: "example.type.foo"
|
|
61
|
+
required:
|
|
62
|
+
- flows
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Copyright 2016 OpenMarket Ltd
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
type: object
|
|
16
|
+
description: A client device
|
|
17
|
+
title: Device
|
|
18
|
+
properties:
|
|
19
|
+
device_id:
|
|
20
|
+
type: string
|
|
21
|
+
description: Identifier of this device.
|
|
22
|
+
example: QBUAZIFURK
|
|
23
|
+
display_name:
|
|
24
|
+
type: string
|
|
25
|
+
description: |-
|
|
26
|
+
Display name set by the user for this device. Absent if no name has been
|
|
27
|
+
set.
|
|
28
|
+
example: android
|
|
29
|
+
last_seen_ip:
|
|
30
|
+
type: string
|
|
31
|
+
description: |-
|
|
32
|
+
The IP address where this device was last seen. (May be a few minutes out
|
|
33
|
+
of date, for efficiency reasons).
|
|
34
|
+
example: 1.2.3.4
|
|
35
|
+
last_seen_ts:
|
|
36
|
+
type: integer
|
|
37
|
+
format: int64
|
|
38
|
+
description: |-
|
|
39
|
+
The timestamp (in milliseconds since the unix epoch) when this devices
|
|
40
|
+
was last seen. (May be a few minutes out of date, for efficiency
|
|
41
|
+
reasons).
|
|
42
|
+
example: 1474491775024
|
|
43
|
+
required:
|
|
44
|
+
- device_id
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Copyright 2022 The Matrix.org Foundation C.I.C.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
title: ClientEvent
|
|
16
|
+
description: |-
|
|
17
|
+
The format used for events when they are returned from a homeserver to a client
|
|
18
|
+
via the Client-Server API, or sent to an Application Service via the Application Services API.
|
|
19
|
+
type: object
|
|
20
|
+
allOf:
|
|
21
|
+
- $ref: "client_event_without_room_id.yaml"
|
|
22
|
+
- type: object
|
|
23
|
+
properties:
|
|
24
|
+
room_id:
|
|
25
|
+
description: The ID of the room associated with this event.
|
|
26
|
+
type: string
|
|
27
|
+
format: mx-room-id
|
|
28
|
+
pattern: "^!"
|
|
29
|
+
example: '!jEsUZKDJdhlrceRyVU:example.org'
|
|
30
|
+
unsigned:
|
|
31
|
+
properties:
|
|
32
|
+
redacted_because:
|
|
33
|
+
title: ClientEvent
|
|
34
|
+
example: {
|
|
35
|
+
"type": "m.room.redaction",
|
|
36
|
+
"sender": "@moderator:example.org",
|
|
37
|
+
"content": {
|
|
38
|
+
"reason": "spam"
|
|
39
|
+
},
|
|
40
|
+
"redacts": "$26RqwJMLw-yds1GAH_QxjHRC1Da9oasK0e5VLnck_45",
|
|
41
|
+
"event_id": "$Nhl3rsgHMjk-DjMJANawr9HHAhLg4GcoTYrSiYYGqEE",
|
|
42
|
+
"origin_server_ts": 1632491098485,
|
|
43
|
+
"room_id": '!jEsUZKDJdhlrceRyVU:example.org',
|
|
44
|
+
"unsigned": {
|
|
45
|
+
"age": 1257,
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
required:
|
|
49
|
+
- room_id
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Copyright 2022 The Matrix.org Foundation C.I.C.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
title: ClientEventWithoutRoomID
|
|
16
|
+
description: |-
|
|
17
|
+
The format used for events when they are returned from
|
|
18
|
+
API endpoints such as `/sync`, where the `room_id` is implied elsewhere
|
|
19
|
+
in the response.
|
|
20
|
+
type: object
|
|
21
|
+
required:
|
|
22
|
+
- event_id
|
|
23
|
+
- type
|
|
24
|
+
- sender
|
|
25
|
+
- origin_server_ts
|
|
26
|
+
- content
|
|
27
|
+
properties:
|
|
28
|
+
event_id:
|
|
29
|
+
description: The globally unique identifier for this event.
|
|
30
|
+
type: string
|
|
31
|
+
format: mx-event-id
|
|
32
|
+
pattern: "^\\$"
|
|
33
|
+
example: '$26RqwJMLw-yds1GAH_QxjHRC1Da9oasK0e5VLnck_45'
|
|
34
|
+
type:
|
|
35
|
+
description: The type of the event.
|
|
36
|
+
type: string
|
|
37
|
+
example: 'm.room.member'
|
|
38
|
+
state_key:
|
|
39
|
+
description: |-
|
|
40
|
+
Present if, and only if, this event is a *state* event. The key making
|
|
41
|
+
this piece of state unique in the room. Note that it is often an empty
|
|
42
|
+
string.
|
|
43
|
+
|
|
44
|
+
State keys starting with an `@` are reserved for referencing user IDs, such
|
|
45
|
+
as room members. With the exception of a few events, state events set with a
|
|
46
|
+
given user's ID as the state key MUST only be set by that user.
|
|
47
|
+
type: string
|
|
48
|
+
example: '@user:example.org'
|
|
49
|
+
sender:
|
|
50
|
+
description: Contains the fully-qualified ID of the user who sent this event.
|
|
51
|
+
type: string
|
|
52
|
+
format: mx-user-id
|
|
53
|
+
pattern: "^@"
|
|
54
|
+
example: "@example:example.org"
|
|
55
|
+
origin_server_ts:
|
|
56
|
+
description: |-
|
|
57
|
+
Timestamp (in milliseconds since the unix epoch) on originating homeserver
|
|
58
|
+
when this event was sent.
|
|
59
|
+
type: integer
|
|
60
|
+
format: int64
|
|
61
|
+
example: 1632489532305
|
|
62
|
+
content:
|
|
63
|
+
description: |-
|
|
64
|
+
The body of this event, as created by the client which sent it.
|
|
65
|
+
type: object
|
|
66
|
+
example: {
|
|
67
|
+
"membership": "join"
|
|
68
|
+
}
|
|
69
|
+
unsigned:
|
|
70
|
+
title: UnsignedData
|
|
71
|
+
type: object
|
|
72
|
+
description: Contains optional extra information about the event.
|
|
73
|
+
properties:
|
|
74
|
+
age:
|
|
75
|
+
description: The time in milliseconds that has elapsed since the event was
|
|
76
|
+
sent. This field is generated by the local homeserver, and may be incorrect
|
|
77
|
+
if the local time on at least one of the two servers is out of sync, which can
|
|
78
|
+
cause the age to either be negative or greater than it actually is.
|
|
79
|
+
type: integer
|
|
80
|
+
format: int64
|
|
81
|
+
example: 1567437
|
|
82
|
+
redacted_because:
|
|
83
|
+
description: The event that redacted this event, if any.
|
|
84
|
+
type: object
|
|
85
|
+
title: ClientEventWithoutRoomID
|
|
86
|
+
example: {
|
|
87
|
+
"type": "m.room.redaction",
|
|
88
|
+
"sender": "@moderator:example.org",
|
|
89
|
+
"content": {
|
|
90
|
+
"reason": "spam"
|
|
91
|
+
},
|
|
92
|
+
"redacts": "$26RqwJMLw-yds1GAH_QxjHRC1Da9oasK0e5VLnck_45",
|
|
93
|
+
"event_id": "$Nhl3rsgHMjk-DjMJANawr9HHAhLg4GcoTYrSiYYGqEE",
|
|
94
|
+
"origin_server_ts": 1632491098485,
|
|
95
|
+
"unsigned": {
|
|
96
|
+
"age": 1257,
|
|
97
|
+
"membership": "leave"
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
transaction_id:
|
|
101
|
+
description: |
|
|
102
|
+
The client-supplied [transaction ID](/client-server-api/#transaction-identifiers), for example, provided via
|
|
103
|
+
`PUT /_matrix/client/v3/rooms/{roomId}/send/{eventType}/{txnId}`,
|
|
104
|
+
if the client being given the event is the same one which sent it.
|
|
105
|
+
type: string
|
|
106
|
+
prev_content:
|
|
107
|
+
description: |
|
|
108
|
+
The `content` of the previous state event that was replaced by this event.
|
|
109
|
+
This field is generated by the local homeserver, and is only returned if
|
|
110
|
+
the event is a state event, and the client has permission to see the
|
|
111
|
+
previous event.
|
|
112
|
+
x-changedInMatrixVersion:
|
|
113
|
+
"1.2": |
|
|
114
|
+
Previously, this field was specified at the top level of returned
|
|
115
|
+
events rather than in `unsigned` (with the exception of the [`GET
|
|
116
|
+
.../notifications`](/client-server-api/#get_matrixclientv3notifications)
|
|
117
|
+
endpoint), though in practice no known server implementations honoured
|
|
118
|
+
this.
|
|
119
|
+
title: EventContent
|
|
120
|
+
type: object
|
|
121
|
+
replaces_state:
|
|
122
|
+
description: |
|
|
123
|
+
The event ID of the state event replaced by this event. This field is generated
|
|
124
|
+
by the local homeserver, and is only returned if the event is a state event.
|
|
125
|
+
Unlike `prev_content`, this field is included regardless of history visibility.
|
|
126
|
+
type: string
|
|
127
|
+
x-addedInMatrixVersion: "1.19"
|
|
128
|
+
membership:
|
|
129
|
+
description: |
|
|
130
|
+
The room membership of the user making the request, at the time of the event.
|
|
131
|
+
|
|
132
|
+
This property is the value of the `membership` property of the
|
|
133
|
+
requesting user's [`m.room.member`](/client-server-api#mroommember)
|
|
134
|
+
state at the point of the event, including any changes caused by the
|
|
135
|
+
event. If the user had yet to join the room at the time of the event
|
|
136
|
+
(i.e, they have no `m.room.member` state), this property is set to
|
|
137
|
+
`leave`.
|
|
138
|
+
|
|
139
|
+
Homeservers SHOULD populate this property
|
|
140
|
+
wherever practical, but they MAY omit it if necessary (for example,
|
|
141
|
+
if calculating the value is expensive, servers might choose to only
|
|
142
|
+
implement it in encrypted rooms). The property is *not* normally populated
|
|
143
|
+
in events pushed to application services via the application service transaction API
|
|
144
|
+
(where there is no clear definition of "requesting user").
|
|
145
|
+
type: string
|
|
146
|
+
example: join
|
|
147
|
+
x-addedInMatrixVersion: "1.11"
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Copyright 2020 The Matrix.org Foundation C.I.C.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
type: object
|
|
15
|
+
title: CrossSigningKey
|
|
16
|
+
description: Key used for cross signing
|
|
17
|
+
properties:
|
|
18
|
+
user_id:
|
|
19
|
+
type: string
|
|
20
|
+
description: |-
|
|
21
|
+
The ID of the user the key belongs to.
|
|
22
|
+
example: "@alice:example.com"
|
|
23
|
+
usage:
|
|
24
|
+
type: array
|
|
25
|
+
description: |-
|
|
26
|
+
What the key is used for.
|
|
27
|
+
items:
|
|
28
|
+
type: string
|
|
29
|
+
enum: ["master", "self_signing", "user_signing"]
|
|
30
|
+
keys:
|
|
31
|
+
type: object
|
|
32
|
+
additionalProperties:
|
|
33
|
+
type: string
|
|
34
|
+
description: |-
|
|
35
|
+
The public key. The object must have exactly one property, whose name is
|
|
36
|
+
in the form `<algorithm>:<unpadded_base64_public_key>`, and whose value
|
|
37
|
+
is the unpadded base64 public key.
|
|
38
|
+
minProperties: 1
|
|
39
|
+
maxProperties: 1
|
|
40
|
+
example:
|
|
41
|
+
"ed25519:alice+base64+public+key": "alice+base64+public+key"
|
|
42
|
+
signatures:
|
|
43
|
+
type: object
|
|
44
|
+
title: Signatures
|
|
45
|
+
description: |-
|
|
46
|
+
Signatures of the key, calculated using the process described at [Signing JSON](/appendices/#signing-json).
|
|
47
|
+
Optional for the master signing key. Other keys must be signed by the
|
|
48
|
+
user\'s master signing key.
|
|
49
|
+
example: {
|
|
50
|
+
"@alice:example.com": {
|
|
51
|
+
"ed25519:alice+base64+master+key": "signature+of+key"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
required:
|
|
55
|
+
- user_id
|
|
56
|
+
- usage
|
|
57
|
+
- keys
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Copyright 2016 OpenMarket Ltd
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
type: object
|
|
15
|
+
title: DeviceKeys
|
|
16
|
+
description: Device identity keys
|
|
17
|
+
properties:
|
|
18
|
+
user_id:
|
|
19
|
+
type: string
|
|
20
|
+
description: |-
|
|
21
|
+
The ID of the user the device belongs to. Must match the user ID used
|
|
22
|
+
when logging in.
|
|
23
|
+
example: "@alice:example.com"
|
|
24
|
+
device_id:
|
|
25
|
+
type: string
|
|
26
|
+
description: |-
|
|
27
|
+
The ID of the device these keys belong to. Must match the device ID used
|
|
28
|
+
when logging in.
|
|
29
|
+
example: "JLAFKJWSCS"
|
|
30
|
+
algorithms:
|
|
31
|
+
type: array
|
|
32
|
+
items:
|
|
33
|
+
type: string
|
|
34
|
+
description: |-
|
|
35
|
+
The encryption algorithms supported by this device.
|
|
36
|
+
example: ["m.olm.v1.curve25519-aes-sha2", "m.megolm.v1.aes-sha2"]
|
|
37
|
+
keys:
|
|
38
|
+
type: object
|
|
39
|
+
description: |-
|
|
40
|
+
Public identity keys. The names of the properties should be in the
|
|
41
|
+
format `<algorithm>:<device_id>`. The keys themselves should be
|
|
42
|
+
encoded as specified by the key algorithm.
|
|
43
|
+
additionalProperties:
|
|
44
|
+
type: string
|
|
45
|
+
example:
|
|
46
|
+
"curve25519:JLAFKJWSCS": "3C5BFWi2Y8MaVvjM8M22DBmh24PmgR0nPvJOIArzgyI"
|
|
47
|
+
"ed25519:JLAFKJWSCS": "lEuiRJBit0IG6nUf5pUzWTUEsRVVe/HJkoKuEww9ULI"
|
|
48
|
+
signatures:
|
|
49
|
+
type: object
|
|
50
|
+
title: Signatures
|
|
51
|
+
description: |-
|
|
52
|
+
Signatures for the device key object. A map from user ID, to a map from
|
|
53
|
+
`<algorithm>:<device_id>` to the signature.
|
|
54
|
+
|
|
55
|
+
The signature is calculated using the process described at [Signing JSON](/appendices/#signing-json).
|
|
56
|
+
patternProperties:
|
|
57
|
+
"^@":
|
|
58
|
+
x-pattern-format: mx-user-id
|
|
59
|
+
type: object
|
|
60
|
+
additionalProperties:
|
|
61
|
+
type: string
|
|
62
|
+
example:
|
|
63
|
+
"@alice:example.com":
|
|
64
|
+
"ed25519:JLAFKJWSCS": "dSO80A01XiigH3uBiDVx/EjzaoycHcjq9lfQX0uWsqxl2giMIiSPR8a4d291W1ihKJL/a+myXS367WT6NAIcBA"
|
|
65
|
+
required:
|
|
66
|
+
- user_id
|
|
67
|
+
- device_id
|
|
68
|
+
- algorithms
|
|
69
|
+
- keys
|
|
70
|
+
- signatures
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Copyright 2016 OpenMarket Ltd
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
type: object
|
|
15
|
+
title: Error
|
|
16
|
+
description: A Matrix-level Error
|
|
17
|
+
properties:
|
|
18
|
+
errcode:
|
|
19
|
+
type: string
|
|
20
|
+
description: An error code.
|
|
21
|
+
example: M_UNKNOWN
|
|
22
|
+
error:
|
|
23
|
+
type: string
|
|
24
|
+
description: A human-readable error message.
|
|
25
|
+
example: An unknown error occurred
|
|
26
|
+
required: ["errcode"]
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Copyright 2018 New Vector Ltd
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
allOf:
|
|
15
|
+
- $ref: error.yaml
|
|
16
|
+
- type: object
|
|
17
|
+
title: RateLimitError
|
|
18
|
+
description: The rate limit was reached for this request
|
|
19
|
+
properties:
|
|
20
|
+
errcode:
|
|
21
|
+
type: string
|
|
22
|
+
description: The M_LIMIT_EXCEEDED error code
|
|
23
|
+
example: M_LIMIT_EXCEEDED
|
|
24
|
+
error:
|
|
25
|
+
type: string
|
|
26
|
+
description: A human-readable error message.
|
|
27
|
+
example: Too many requests
|
|
28
|
+
retry_after_ms:
|
|
29
|
+
type: integer
|
|
30
|
+
description: |-
|
|
31
|
+
The amount of time in milliseconds the client should wait
|
|
32
|
+
before trying the request again.
|
|
33
|
+
example: 2000
|
|
34
|
+
required: ["errcode"]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Copyright 2016 OpenMarket Ltd
|
|
2
|
+
# Copyright 2018 New Vector Ltd
|
|
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
|
+
properties:
|
|
16
|
+
events:
|
|
17
|
+
description: List of events.
|
|
18
|
+
items:
|
|
19
|
+
$ref: ../../../event-schemas/schema/core-event-schema/event.yaml
|
|
20
|
+
type: array
|
|
21
|
+
type: object
|
|
22
|
+
title: EventBatch
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Copyright 2016 OpenMarket Ltd
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
title: EventFilter
|
|
15
|
+
properties:
|
|
16
|
+
limit:
|
|
17
|
+
description: |
|
|
18
|
+
The maximum number of events to return, must be an integer greater than 0.
|
|
19
|
+
|
|
20
|
+
Servers should apply a default value, and impose a maximum value to avoid
|
|
21
|
+
resource exhaustion.
|
|
22
|
+
type: integer
|
|
23
|
+
not_senders:
|
|
24
|
+
description: A list of sender IDs to exclude. If this list is absent then no senders
|
|
25
|
+
are excluded. A matching sender will be excluded even if it is listed in the
|
|
26
|
+
`senders` filter.
|
|
27
|
+
items:
|
|
28
|
+
type: string
|
|
29
|
+
format: mx-user-id
|
|
30
|
+
pattern: "^@"
|
|
31
|
+
type: array
|
|
32
|
+
not_types:
|
|
33
|
+
description: A list of event types to exclude. If this list is absent then no
|
|
34
|
+
event types are excluded. A matching type will be excluded even if it is listed
|
|
35
|
+
in the `types` filter. A `*` can be used as a wildcard to match any sequence
|
|
36
|
+
of characters.
|
|
37
|
+
items:
|
|
38
|
+
type: string
|
|
39
|
+
type: array
|
|
40
|
+
senders:
|
|
41
|
+
description: A list of senders IDs to include. If this list is absent then all
|
|
42
|
+
senders are included.
|
|
43
|
+
items:
|
|
44
|
+
type: string
|
|
45
|
+
format: mx-user-id
|
|
46
|
+
pattern: "^@"
|
|
47
|
+
type: array
|
|
48
|
+
types:
|
|
49
|
+
description: A list of event types to include. If this list is absent then all
|
|
50
|
+
event types are included. A `*` can be used as a wildcard to match any sequence
|
|
51
|
+
of characters.
|
|
52
|
+
items:
|
|
53
|
+
type: string
|
|
54
|
+
type: array
|
|
55
|
+
type: object
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Copyright 2025 The Matrix.org Foundation C.I.C.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
type: object
|
|
15
|
+
title: Invite3pid
|
|
16
|
+
properties:
|
|
17
|
+
id_server:
|
|
18
|
+
type: string
|
|
19
|
+
description: The hostname+port of the identity server which should be used for
|
|
20
|
+
third-party identifier lookups.
|
|
21
|
+
id_access_token:
|
|
22
|
+
type: string
|
|
23
|
+
description: |-
|
|
24
|
+
An access token previously registered with the identity server. Servers
|
|
25
|
+
can treat this as optional to distinguish between r0.5-compatible clients
|
|
26
|
+
and this specification version.
|
|
27
|
+
medium:
|
|
28
|
+
type: string
|
|
29
|
+
description: |-
|
|
30
|
+
The kind of address being passed in the address field, for example `email`
|
|
31
|
+
(see [the list of recognised values](/appendices/#3pid-types)).
|
|
32
|
+
address:
|
|
33
|
+
type: string
|
|
34
|
+
description: The invitee's third-party identifier.
|
|
35
|
+
required:
|
|
36
|
+
- id_server
|
|
37
|
+
- id_access_token
|
|
38
|
+
- medium
|
|
39
|
+
- address
|
|
40
|
+
example: {
|
|
41
|
+
"id_server": "matrix.org",
|
|
42
|
+
"id_access_token": "abc123_OpaqueString",
|
|
43
|
+
"medium": "email",
|
|
44
|
+
"address": "cheeky@monkey.com"
|
|
45
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Copyright 2022 The Matrix.org Foundation C.I.C
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
type: object
|
|
17
|
+
title: AuthData
|
|
18
|
+
description: |-
|
|
19
|
+
The format of the `auth_data` when a key backup is created with the
|
|
20
|
+
`algorithm` set to `m.megolm_backup.v1.curve25519-aes-sha2`.
|
|
21
|
+
properties:
|
|
22
|
+
public_key:
|
|
23
|
+
type: string
|
|
24
|
+
description: |-
|
|
25
|
+
The curve25519 public key used to encrypt the backups, encoded in unpadded base64.
|
|
26
|
+
example: "abcdefg"
|
|
27
|
+
signatures:
|
|
28
|
+
type: object
|
|
29
|
+
description: |-
|
|
30
|
+
Signatures of the `auth_data`, as Signed JSON
|
|
31
|
+
example: {
|
|
32
|
+
"something": {
|
|
33
|
+
"ed25519:something": "hijklmnop"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
required: ['public_key']
|