async-matrix 0.1.3 → 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 +2 -2
- metadata +353 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Copyright 2019 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
|
+
type: object
|
|
16
|
+
title: KeyBackupData
|
|
17
|
+
description: "The key data"
|
|
18
|
+
properties:
|
|
19
|
+
first_message_index:
|
|
20
|
+
description: |-
|
|
21
|
+
The index of the first message in the session that the key can decrypt.
|
|
22
|
+
type: integer
|
|
23
|
+
example: 1
|
|
24
|
+
forwarded_count:
|
|
25
|
+
description: |-
|
|
26
|
+
The number of times this key has been forwarded via key-sharing between devices.
|
|
27
|
+
type: integer
|
|
28
|
+
example: 0
|
|
29
|
+
is_verified:
|
|
30
|
+
description: |-
|
|
31
|
+
Whether the device backing up the key verified the device that the key
|
|
32
|
+
is from.
|
|
33
|
+
type: boolean
|
|
34
|
+
example: false
|
|
35
|
+
session_data:
|
|
36
|
+
description: |-
|
|
37
|
+
Algorithm-dependent data. See the documentation for the backup
|
|
38
|
+
algorithms in [Server-side key backups](/client-server-api/#server-side-key-backups) for more information on the
|
|
39
|
+
expected format of the data.
|
|
40
|
+
type: object
|
|
41
|
+
example: {
|
|
42
|
+
"ephemeral": "base64+ephemeral+key",
|
|
43
|
+
"ciphertext": "base64+ciphertext+of+JSON+data",
|
|
44
|
+
"mac": "base64+mac+of+ciphertext"
|
|
45
|
+
}
|
|
46
|
+
required:
|
|
47
|
+
- first_message_index
|
|
48
|
+
- forwarded_count
|
|
49
|
+
- is_verified
|
|
50
|
+
- session_data
|
|
@@ -0,0 +1,57 @@
|
|
|
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: BackedUpSessionData
|
|
18
|
+
description: |-
|
|
19
|
+
The format of a backed-up session key, prior to encryption, when using the
|
|
20
|
+
`m.megolm_backup.v1.curve25519-aes-sha2` algorithm.
|
|
21
|
+
properties:
|
|
22
|
+
algorithm:
|
|
23
|
+
type: string
|
|
24
|
+
description: |-
|
|
25
|
+
The end-to-end message encryption algorithm that the key is for. Must be `m.megolm.v1.aes-sha2`.
|
|
26
|
+
example: "m.megolm.v1.aes-sha2"
|
|
27
|
+
forwarding_curve25519_key_chain:
|
|
28
|
+
type: array
|
|
29
|
+
items:
|
|
30
|
+
type: string
|
|
31
|
+
description: |-
|
|
32
|
+
Chain of Curve25519 keys through which this session was forwarded, via [m.forwarded_room_key](/client-server-api/#mforwarded_room_key)
|
|
33
|
+
events.
|
|
34
|
+
example: [ "hPQNcabIABgGnx3/ACv/jmMmiQHoeFfuLB17tzWp6Hw" ]
|
|
35
|
+
sender_key:
|
|
36
|
+
type: string
|
|
37
|
+
description: |-
|
|
38
|
+
Unpadded base64-encoded device Curve25519 key.
|
|
39
|
+
example: "RF3s+E7RkTQTGF2d8Deol0FkQvgII2aJDf3/Jp5mxVU"
|
|
40
|
+
sender_claimed_keys:
|
|
41
|
+
type: object
|
|
42
|
+
additionalProperties:
|
|
43
|
+
type: string
|
|
44
|
+
description: |-
|
|
45
|
+
A map from algorithm name (`ed25519`) to the Ed25519 signing key of the sending device.
|
|
46
|
+
example: { "ed25519": "aj40p+aw64yPIdsxoog8jhPu9i7l7NcFRecuOQblE3Y" }
|
|
47
|
+
session_key:
|
|
48
|
+
type: string
|
|
49
|
+
description: |-
|
|
50
|
+
Unpadded base64-encoded session key in [session-export format](https://gitlab.matrix.org/matrix-org/olm/blob/master/docs/megolm.md#session-export-format).
|
|
51
|
+
example: "AgAAAADxKHa9uFxcXzwYoNueL5Xqi69IkD4sni8Llf..."
|
|
52
|
+
required:
|
|
53
|
+
- algorithm
|
|
54
|
+
- forwarding_curve25519_key_chain
|
|
55
|
+
- sender_key
|
|
56
|
+
- sender_claimed_keys
|
|
57
|
+
- session_key
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Copyright 2024 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
|
+
type: object
|
|
16
|
+
title: m.login.terms params
|
|
17
|
+
description: Schema for `m.login.terms` entry in the `params` object in a User-Interactive Authentication response.
|
|
18
|
+
required: ['policies']
|
|
19
|
+
properties:
|
|
20
|
+
policies:
|
|
21
|
+
type: object
|
|
22
|
+
description: |
|
|
23
|
+
A map from "Policy ID" to the current definition of this policy document. The Policy ID is a unique
|
|
24
|
+
identifier for a given policy document, using the [Opaque Identifier Grammar](/appendices/#opaque-identifiers).
|
|
25
|
+
additionalProperties:
|
|
26
|
+
type: object
|
|
27
|
+
title: Policy Definition
|
|
28
|
+
required: [version]
|
|
29
|
+
properties:
|
|
30
|
+
version:
|
|
31
|
+
type: string
|
|
32
|
+
description: |
|
|
33
|
+
The version of this policy document. This is provided as a convenience for the client,
|
|
34
|
+
and uses the [Opaque Identifier Grammar](/appendices/#opaque-identifiers).
|
|
35
|
+
additionalProperties:
|
|
36
|
+
type: object
|
|
37
|
+
title: Policy Translation
|
|
38
|
+
required: [name, url]
|
|
39
|
+
description: |
|
|
40
|
+
Map from language codes to details of the document in that language.
|
|
41
|
+
Language codes SHOULD be formatted as per [Section 2.2 of RFC
|
|
42
|
+
5646](https://datatracker.ietf.org/doc/html/rfc5646#section-2.2),
|
|
43
|
+
though some implementations may use an underscore instead of dash
|
|
44
|
+
(for example, `en_US` instead of `en-US`).
|
|
45
|
+
properties:
|
|
46
|
+
name:
|
|
47
|
+
type: string
|
|
48
|
+
description: |
|
|
49
|
+
The name of this document, in the appropriate language. An
|
|
50
|
+
arbitrary string with no specified maximum length.
|
|
51
|
+
url:
|
|
52
|
+
type: string
|
|
53
|
+
format: uri
|
|
54
|
+
description: |
|
|
55
|
+
A link to the text of this document, in the appropriate
|
|
56
|
+
language. MUST be a valid URI with scheme `https://` or
|
|
57
|
+
`http://`. Insecure HTTP is discouraged.
|
|
58
|
+
example: {
|
|
59
|
+
"policies": {
|
|
60
|
+
"terms_of_service": {
|
|
61
|
+
"version": "1.2",
|
|
62
|
+
"en": {
|
|
63
|
+
"name": "Terms of Service",
|
|
64
|
+
"url": "https://example.org/somewhere/terms-1.2-en.html"
|
|
65
|
+
},
|
|
66
|
+
"fr": {
|
|
67
|
+
"name": "Conditions d'utilisation",
|
|
68
|
+
"url": "https://example.org/somewhere/terms-1.2-fr.html"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"privacy_policy": {
|
|
72
|
+
"version": "1.2",
|
|
73
|
+
"en": {
|
|
74
|
+
"name": "Privacy Policy",
|
|
75
|
+
"url": "https://example.org/somewhere/privacy-1.2-en.html"
|
|
76
|
+
},
|
|
77
|
+
"fr": {
|
|
78
|
+
"name": "Politique de confidentialité",
|
|
79
|
+
"url": "https://example.org/somewhere/privacy-1.2-fr.html"
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Copyright 2023 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
|
+
type: object
|
|
16
|
+
title: m.mentions
|
|
17
|
+
description: |-
|
|
18
|
+
Describes whether the event mentions other users or the room. This is contained
|
|
19
|
+
within the event's `content` alongside other fields for the relevant event type.
|
|
20
|
+
example: {
|
|
21
|
+
"user_ids": ["@alice:example.org"]
|
|
22
|
+
}
|
|
23
|
+
properties:
|
|
24
|
+
user_ids:
|
|
25
|
+
type: array
|
|
26
|
+
items:
|
|
27
|
+
type: string
|
|
28
|
+
description: A list of Matrix IDs of mentioned users.
|
|
29
|
+
room:
|
|
30
|
+
type: boolean
|
|
31
|
+
description: |-
|
|
32
|
+
A boolean set to `true` to mention the room, for an `@room` notification.
|
|
33
|
+
(`room` should otherwise not be included on the event.)
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
|
|
15
|
+
type: object
|
|
16
|
+
title: m.oauth params
|
|
17
|
+
description: Schema for `m.oauth` entry in the `params` object in a User-Interactive Authentication response.
|
|
18
|
+
required: ['url']
|
|
19
|
+
properties:
|
|
20
|
+
url:
|
|
21
|
+
type: string
|
|
22
|
+
format: uri
|
|
23
|
+
description: |
|
|
24
|
+
A URL pointing to the homeserver's OAuth account management web UI
|
|
25
|
+
where the user can approve the action. MUST be a valid URI with scheme
|
|
26
|
+
`http://` or `https://`, the latter being RECOMMENDED.
|
|
27
|
+
pattern: "^https?://"
|
|
28
|
+
example: {
|
|
29
|
+
"url": "https://example.org/account/reset-cross-signing"
|
|
30
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
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
|
+
type: object
|
|
16
|
+
title: m.relates_to
|
|
17
|
+
description: |-
|
|
18
|
+
Describes the relationship of an event to its parent. This is contained
|
|
19
|
+
within the event's `content` alongside other fields for the relevant event type.
|
|
20
|
+
example: {
|
|
21
|
+
# We deliberately "break" the example by including the top-level field so it renders
|
|
22
|
+
# sensibly for readers of the spec.
|
|
23
|
+
"m.relates_to": {
|
|
24
|
+
"rel_type": "org.example.relationship",
|
|
25
|
+
"event_id": "$an_event"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
properties:
|
|
29
|
+
rel_type:
|
|
30
|
+
type: string
|
|
31
|
+
description: |-
|
|
32
|
+
The namespaced relationship type. Values must use the
|
|
33
|
+
[Common Namespaced Identifier Grammar](/appendices/#common-namespaced-identifier-grammar).
|
|
34
|
+
|
|
35
|
+
The relationship type determines how clients should perceive the event, and in what
|
|
36
|
+
context. Some relationship types are processed server-side for "bundling", though not
|
|
37
|
+
all relationships require such behaviour. For example, an [`m.thread` relationship type](/client-server-api/#threading)
|
|
38
|
+
denotes that the event is part of a "thread" of messages and should be rendered as
|
|
39
|
+
such.
|
|
40
|
+
event_id:
|
|
41
|
+
type: string
|
|
42
|
+
format: mx-event-id
|
|
43
|
+
pattern: "^\\$"
|
|
44
|
+
description: The event ID of the event that this event relates to.
|
|
45
|
+
required: ['rel_type', 'event_id']
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
allOf:
|
|
17
|
+
- $ref: key_backup_session_data.yaml
|
|
18
|
+
- type: object
|
|
19
|
+
title: ExportedSessionData
|
|
20
|
+
description: |-
|
|
21
|
+
The format used to encode a Megolm session key for export.
|
|
22
|
+
|
|
23
|
+
This is similar to the format before encryption used for the session keys
|
|
24
|
+
in [Server-side key backups](/client-server-api/#server-side-key-backups)
|
|
25
|
+
but adds the `room_id` and `session_id` fields.
|
|
26
|
+
properties:
|
|
27
|
+
room_id:
|
|
28
|
+
type: string
|
|
29
|
+
description: |-
|
|
30
|
+
The room where the session is used.
|
|
31
|
+
example: "!Cuyf34gef24t:localhost"
|
|
32
|
+
session_id:
|
|
33
|
+
type: string
|
|
34
|
+
description: |-
|
|
35
|
+
The Megolm session ID.
|
|
36
|
+
example: "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ"
|
|
37
|
+
required:
|
|
38
|
+
- room_id
|
|
39
|
+
- session_id
|
|
@@ -0,0 +1,88 @@
|
|
|
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
|
+
|
|
15
|
+
|
|
16
|
+
type: object
|
|
17
|
+
title: OlmPayload
|
|
18
|
+
description: |-
|
|
19
|
+
The plaintext payload of Olm message events.
|
|
20
|
+
properties:
|
|
21
|
+
type:
|
|
22
|
+
type: string
|
|
23
|
+
description: The type of the event.
|
|
24
|
+
content:
|
|
25
|
+
type: object
|
|
26
|
+
description: The event content.
|
|
27
|
+
sender:
|
|
28
|
+
type: string
|
|
29
|
+
description: The user ID of the event sender.
|
|
30
|
+
recipient:
|
|
31
|
+
type: string
|
|
32
|
+
description: The user ID of the intended event recipient.
|
|
33
|
+
recipient_keys:
|
|
34
|
+
description: The recipient's signing keys of the encrypted event.
|
|
35
|
+
$ref: "#/components/schemas/SigningKeys"
|
|
36
|
+
keys:
|
|
37
|
+
$ref: "#/components/schemas/SigningKeys"
|
|
38
|
+
description: The sender's signing keys of the encrypted event.
|
|
39
|
+
sender_device_keys:
|
|
40
|
+
$ref: device_keys.yaml
|
|
41
|
+
description: The sender's device keys.
|
|
42
|
+
x-addedInMatrixVersion: "1.15"
|
|
43
|
+
required:
|
|
44
|
+
- type
|
|
45
|
+
- content
|
|
46
|
+
- sender
|
|
47
|
+
- recipient
|
|
48
|
+
- recipient_keys
|
|
49
|
+
- keys
|
|
50
|
+
components:
|
|
51
|
+
schemas:
|
|
52
|
+
SigningKeys:
|
|
53
|
+
type: object
|
|
54
|
+
title: SigningKeys
|
|
55
|
+
description: Public keys used for an `m.olm.v1.curve25519-aes-sha2` event.
|
|
56
|
+
properties:
|
|
57
|
+
ed25519:
|
|
58
|
+
type: string
|
|
59
|
+
description: The Ed25519 public key encoded using unpadded base64.
|
|
60
|
+
required:
|
|
61
|
+
- ed25519
|
|
62
|
+
example: {
|
|
63
|
+
"type": "<type of the plaintext event>",
|
|
64
|
+
"content": "<content for the plaintext event>",
|
|
65
|
+
"sender": "<sender_user_id>",
|
|
66
|
+
"recipient": "<recipient_user_id>",
|
|
67
|
+
"recipient_keys": {
|
|
68
|
+
"ed25519": "<our_ed25519_key>"
|
|
69
|
+
},
|
|
70
|
+
"keys": {
|
|
71
|
+
"ed25519": "<sender_ed25519_key>"
|
|
72
|
+
},
|
|
73
|
+
"sender_device_keys": {
|
|
74
|
+
"algorithms": ["<supported>", "<algorithms>"],
|
|
75
|
+
"user_id": "<user_id>",
|
|
76
|
+
"device_id": "<device_id>",
|
|
77
|
+
"keys": {
|
|
78
|
+
"ed25519:<device_id>": "<sender_ed25519_key>",
|
|
79
|
+
"curve25519:<device_id>": "<sender_curve25519_key>"
|
|
80
|
+
},
|
|
81
|
+
"signatures": {
|
|
82
|
+
"<user_id>": {
|
|
83
|
+
"ed25519:<device_id>": "<device_signature>",
|
|
84
|
+
"ed25519:<ssk_id>": "<ssk_signature>",
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: OneTimeKeys
|
|
3
|
+
type: object
|
|
4
|
+
description: |-
|
|
5
|
+
One-time public keys. The names of the properties should be in the format
|
|
6
|
+
`<algorithm>:<key_id>`. The format of the key is determined
|
|
7
|
+
by the [key algorithm](/client-server-api/#key-algorithms).
|
|
8
|
+
additionalProperties:
|
|
9
|
+
oneOf:
|
|
10
|
+
- type: string
|
|
11
|
+
- type: object
|
|
12
|
+
title: KeyObject
|
|
13
|
+
properties:
|
|
14
|
+
key:
|
|
15
|
+
type: string
|
|
16
|
+
description: The key, encoded using unpadded base64.
|
|
17
|
+
signatures:
|
|
18
|
+
type: object
|
|
19
|
+
description: |-
|
|
20
|
+
Signature for the device. Mapped from user ID to signature object,
|
|
21
|
+
containing mapping from _key signing identifier_ to the signature
|
|
22
|
+
(see also: [Signing JSON](/appendices/#signing-json))
|
|
23
|
+
patternProperties:
|
|
24
|
+
"^@":
|
|
25
|
+
x-pattern-format: mx-user-id
|
|
26
|
+
type: object
|
|
27
|
+
required: ['key', 'signatures']
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Copyright 2018 New Vector Ltd
|
|
2
|
+
# Copyright 2019 The Matrix.org Foundation C.I.C.
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
# See the License for the specific language governing permissions and
|
|
14
|
+
# limitations under the License.
|
|
15
|
+
type: object
|
|
16
|
+
title: OpenIdCredentials
|
|
17
|
+
properties:
|
|
18
|
+
access_token:
|
|
19
|
+
type: string
|
|
20
|
+
description: |-
|
|
21
|
+
An access token the consumer may use to verify the identity of
|
|
22
|
+
the person who generated the token. This is given to the federation
|
|
23
|
+
API `GET /openid/userinfo` to verify the user's identity.
|
|
24
|
+
token_type:
|
|
25
|
+
type: string
|
|
26
|
+
description: The string `Bearer`.
|
|
27
|
+
matrix_server_name:
|
|
28
|
+
type: string
|
|
29
|
+
description: |-
|
|
30
|
+
The homeserver domain the consumer should use when attempting to
|
|
31
|
+
verify the user's identity.
|
|
32
|
+
expires_in:
|
|
33
|
+
type: integer
|
|
34
|
+
description: |-
|
|
35
|
+
The number of seconds before this token expires and a new one must
|
|
36
|
+
be generated.
|
|
37
|
+
required: ['access_token', 'token_type', 'matrix_server_name', 'expires_in']
|
|
@@ -0,0 +1,44 @@
|
|
|
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: ../../application-service/definitions/protocol_base.yaml
|
|
16
|
+
- type: object
|
|
17
|
+
properties:
|
|
18
|
+
instances:
|
|
19
|
+
description: |-
|
|
20
|
+
A list of objects representing independent instances of configuration.
|
|
21
|
+
For example, multiple networks on IRC if multiple are provided by the
|
|
22
|
+
same application service.
|
|
23
|
+
|
|
24
|
+
The instances are modified by the homeserver from the response of
|
|
25
|
+
[`GET /_matrix/app/v1/thirdparty/protocol/{protocol}`](/application-service-api/#get_matrixappv1thirdpartyprotocolprotocol)
|
|
26
|
+
to include an `instance_id` to serve as a unique identifier for each
|
|
27
|
+
instance on the homeserver.
|
|
28
|
+
type: array
|
|
29
|
+
items:
|
|
30
|
+
allOf:
|
|
31
|
+
- $ref: ../../application-service/definitions/protocol_instance.yaml
|
|
32
|
+
- type: object
|
|
33
|
+
properties:
|
|
34
|
+
instance_id:
|
|
35
|
+
type: string
|
|
36
|
+
description: |-
|
|
37
|
+
A unique identifier for this instance on the homeserver. This field is added
|
|
38
|
+
to the response of [`GET /_matrix/app/v1/thirdparty/protocol/{protocol}`](/application-service-api/#get_matrixappv1thirdpartyprotocolprotocol)
|
|
39
|
+
by the homeserver.
|
|
40
|
+
|
|
41
|
+
This is the identifier to use as the `third_party_instance_id` in a request to
|
|
42
|
+
[`POST /_matrix/client/v3/publicRooms`](/client-server-api/#post_matrixclientv3publicrooms).
|
|
43
|
+
example: "irc-freenode"
|
|
44
|
+
required: ['instances']
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Copyright 2021 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
|
+
type: object
|
|
16
|
+
title: "PublishedRoomsChunk"
|
|
17
|
+
properties:
|
|
18
|
+
canonical_alias:
|
|
19
|
+
type: string
|
|
20
|
+
format: mx-room-alias
|
|
21
|
+
pattern: "^#"
|
|
22
|
+
description: The canonical alias of the room, if any.
|
|
23
|
+
example: "#general:example.org"
|
|
24
|
+
name:
|
|
25
|
+
type: string
|
|
26
|
+
description: The name of the room, if any.
|
|
27
|
+
example: "General Chat"
|
|
28
|
+
num_joined_members:
|
|
29
|
+
type: integer
|
|
30
|
+
description: The number of members joined to the room.
|
|
31
|
+
example: 42
|
|
32
|
+
room_id:
|
|
33
|
+
type: string
|
|
34
|
+
format: mx-room-id
|
|
35
|
+
pattern: "^!"
|
|
36
|
+
description: The ID of the room.
|
|
37
|
+
example: "!abcdefg:example.org"
|
|
38
|
+
topic:
|
|
39
|
+
type: string
|
|
40
|
+
description: |-
|
|
41
|
+
The plain text topic of the room. Omitted if no `text/plain` mimetype
|
|
42
|
+
exists in [`m.room.topic`](/client-server-api/#mroomtopic).
|
|
43
|
+
example: "All things general"
|
|
44
|
+
world_readable:
|
|
45
|
+
type: boolean
|
|
46
|
+
description: Whether the room may be viewed by users without joining.
|
|
47
|
+
example: false
|
|
48
|
+
guest_can_join:
|
|
49
|
+
type: boolean
|
|
50
|
+
description: |-
|
|
51
|
+
Whether guest users may join the room and participate in it.
|
|
52
|
+
If they can, they will be subject to ordinary power level
|
|
53
|
+
rules like any other user.
|
|
54
|
+
example: true
|
|
55
|
+
avatar_url:
|
|
56
|
+
type: string
|
|
57
|
+
format: uri
|
|
58
|
+
description: The URL for the room's avatar, if one is set.
|
|
59
|
+
example: "mxc://example.org/abcdef"
|
|
60
|
+
join_rule:
|
|
61
|
+
type: string
|
|
62
|
+
description: |-
|
|
63
|
+
The room's join rule. When not present, the room is assumed to
|
|
64
|
+
be `public`.
|
|
65
|
+
example: "public"
|
|
66
|
+
room_type:
|
|
67
|
+
type: string
|
|
68
|
+
description: |-
|
|
69
|
+
The `type` of room (from [`m.room.create`](/client-server-api/#mroomcreate)), if any.
|
|
70
|
+
required:
|
|
71
|
+
- room_id
|
|
72
|
+
- num_joined_members
|
|
73
|
+
- world_readable
|
|
74
|
+
- guest_can_join
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Copyright 2018, 2021 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
|
+
type: object
|
|
16
|
+
description: A list of the published rooms on the server.
|
|
17
|
+
required: ["chunk"]
|
|
18
|
+
properties:
|
|
19
|
+
chunk:
|
|
20
|
+
type: array
|
|
21
|
+
description: |-
|
|
22
|
+
A paginated chunk of published rooms.
|
|
23
|
+
items:
|
|
24
|
+
$ref: "public_rooms_chunk.yaml"
|
|
25
|
+
next_batch:
|
|
26
|
+
type: string
|
|
27
|
+
description: |-
|
|
28
|
+
A pagination token for the response. The absence of this token
|
|
29
|
+
means there are no more results to fetch and the client should
|
|
30
|
+
stop paginating.
|
|
31
|
+
prev_batch:
|
|
32
|
+
type: string
|
|
33
|
+
description: |-
|
|
34
|
+
A pagination token that allows fetching previous results. The
|
|
35
|
+
absence of this token means there are no results before this
|
|
36
|
+
batch, i.e. this is the first batch.
|
|
37
|
+
total_room_count_estimate:
|
|
38
|
+
type: integer
|
|
39
|
+
description: |-
|
|
40
|
+
An estimate on the total number of published rooms, if the
|
|
41
|
+
server has an estimate.
|
|
42
|
+
example: {
|
|
43
|
+
"chunk": [
|
|
44
|
+
{
|
|
45
|
+
"avatar_url": "mxc://bleecker.street/CHEDDARandBRIE",
|
|
46
|
+
"guest_can_join": false,
|
|
47
|
+
"name": "CHEESE",
|
|
48
|
+
"num_joined_members": 37,
|
|
49
|
+
"room_id": "!ol19s:bleecker.street",
|
|
50
|
+
"topic": "Tasty tasty cheese",
|
|
51
|
+
"world_readable": true,
|
|
52
|
+
"join_rule": "public",
|
|
53
|
+
"room_type": "m.space"
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"next_batch": "p190q",
|
|
57
|
+
"prev_batch": "p1902",
|
|
58
|
+
"total_room_count_estimate": 115
|
|
59
|
+
}
|