async-matrix 0.1.3 → 1.1.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/discord-api-spec/openapi.json +40404 -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/discord/api/path_tree.rb +130 -0
- data/lib/async/discord/api.rb +156 -0
- data/lib/async/discord/client.rb +286 -0
- data/lib/async/discord/error.rb +88 -0
- data/lib/async/discord/gateway.rb +362 -0
- data/lib/async/discord.rb +16 -0
- data/lib/async/matrix/api/chain.rb +584 -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 +113 -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 +206 -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/bridge/discord/db/connection.rb +143 -0
- data/lib/async/matrix/bridge/discord/db/file.rb +120 -0
- data/lib/async/matrix/bridge/discord/db/guild.rb +122 -0
- data/lib/async/matrix/bridge/discord/db/message.rb +162 -0
- data/lib/async/matrix/bridge/discord/db/migrations/001_create_users.rb +14 -0
- data/lib/async/matrix/bridge/discord/db/migrations/002_create_guilds.rb +14 -0
- data/lib/async/matrix/bridge/discord/db/migrations/003_create_portals.rb +23 -0
- data/lib/async/matrix/bridge/discord/db/migrations/004_create_puppets.rb +19 -0
- data/lib/async/matrix/bridge/discord/db/migrations/005_create_messages.rb +20 -0
- data/lib/async/matrix/bridge/discord/db/migrations/006_create_reactions.rb +19 -0
- data/lib/async/matrix/bridge/discord/db/migrations/007_create_files.rb +18 -0
- data/lib/async/matrix/bridge/discord/db/portal.rb +152 -0
- data/lib/async/matrix/bridge/discord/db/puppet.rb +130 -0
- data/lib/async/matrix/bridge/discord/db/reaction.rb +167 -0
- data/lib/async/matrix/bridge/discord/db/user.rb +114 -0
- data/lib/async/matrix/bridge/discord/db.rb +140 -0
- data/lib/async/matrix/client.rb +919 -179
- data/lib/async/matrix/connection.rb +8 -8
- data/lib/async/matrix/double_puppet_client.rb +84 -0
- 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 +8 -7
- data/lib/async/matrix/stream.rb +7 -7
- data/lib/async/matrix/version.rb +1 -1
- data/lib/async/matrix.rb +4 -2
- metadata +419 -1
|
@@ -0,0 +1,385 @@
|
|
|
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
|
+
openapi: 3.1.0
|
|
15
|
+
info:
|
|
16
|
+
title: Matrix Client-Server Search API
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
paths:
|
|
19
|
+
/search:
|
|
20
|
+
post:
|
|
21
|
+
summary: Perform a server-side search.
|
|
22
|
+
description: Performs a full text search across different categories.
|
|
23
|
+
operationId: search
|
|
24
|
+
security:
|
|
25
|
+
- accessTokenQuery: []
|
|
26
|
+
- accessTokenBearer: []
|
|
27
|
+
parameters:
|
|
28
|
+
- in: query
|
|
29
|
+
name: next_batch
|
|
30
|
+
description: |-
|
|
31
|
+
The point to return events from. If given, this should be a
|
|
32
|
+
`next_batch` result from a previous call to this endpoint.
|
|
33
|
+
example: YWxsCgpOb25lLDM1ODcwOA
|
|
34
|
+
schema:
|
|
35
|
+
type: string
|
|
36
|
+
requestBody:
|
|
37
|
+
content:
|
|
38
|
+
application/json:
|
|
39
|
+
schema:
|
|
40
|
+
type: object
|
|
41
|
+
example: {
|
|
42
|
+
"search_categories": {
|
|
43
|
+
"room_events": {
|
|
44
|
+
"keys": [
|
|
45
|
+
"content.body"
|
|
46
|
+
],
|
|
47
|
+
"search_term": "martians and men",
|
|
48
|
+
"order_by": "recent",
|
|
49
|
+
"groupings": {
|
|
50
|
+
"group_by": [
|
|
51
|
+
{
|
|
52
|
+
"key": "room_id"
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
properties:
|
|
60
|
+
search_categories:
|
|
61
|
+
type: object
|
|
62
|
+
title: Categories
|
|
63
|
+
description: Describes which categories to search in and their criteria.
|
|
64
|
+
properties:
|
|
65
|
+
room_events:
|
|
66
|
+
type: object
|
|
67
|
+
title: Room Events Criteria
|
|
68
|
+
description: Mapping of category name to search criteria.
|
|
69
|
+
properties:
|
|
70
|
+
search_term:
|
|
71
|
+
type: string
|
|
72
|
+
description: The string to search events for
|
|
73
|
+
keys:
|
|
74
|
+
type: array
|
|
75
|
+
items:
|
|
76
|
+
type: string
|
|
77
|
+
enum:
|
|
78
|
+
- content.body
|
|
79
|
+
- content.name
|
|
80
|
+
- content.topic
|
|
81
|
+
description: The keys to search. Defaults to all.
|
|
82
|
+
filter:
|
|
83
|
+
type: object
|
|
84
|
+
title: Filter
|
|
85
|
+
description: This takes a [filter](/client-server-api/#filtering).
|
|
86
|
+
allOf:
|
|
87
|
+
- $ref: definitions/room_event_filter.yaml
|
|
88
|
+
order_by:
|
|
89
|
+
title: Ordering
|
|
90
|
+
type: string
|
|
91
|
+
enum:
|
|
92
|
+
- recent
|
|
93
|
+
- rank
|
|
94
|
+
description: |-
|
|
95
|
+
The order in which to search for results.
|
|
96
|
+
By default, this is `"rank"`.
|
|
97
|
+
event_context:
|
|
98
|
+
title: Include Event Context
|
|
99
|
+
type: object
|
|
100
|
+
description: |-
|
|
101
|
+
Configures whether any context for the events
|
|
102
|
+
returned are included in the response.
|
|
103
|
+
properties:
|
|
104
|
+
before_limit:
|
|
105
|
+
type: integer
|
|
106
|
+
title: Before limit
|
|
107
|
+
description: |-
|
|
108
|
+
How many events before the result are
|
|
109
|
+
returned. By default, this is `5`.
|
|
110
|
+
after_limit:
|
|
111
|
+
type: integer
|
|
112
|
+
title: After limit
|
|
113
|
+
description: |-
|
|
114
|
+
How many events after the result are
|
|
115
|
+
returned. By default, this is `5`.
|
|
116
|
+
include_profile:
|
|
117
|
+
type: boolean
|
|
118
|
+
title: Return profile information
|
|
119
|
+
description: |-
|
|
120
|
+
Requests that the server returns the
|
|
121
|
+
historic profile information for the users
|
|
122
|
+
that sent the events that were returned.
|
|
123
|
+
By default, this is `false`.
|
|
124
|
+
include_state:
|
|
125
|
+
type: boolean
|
|
126
|
+
title: Include current state
|
|
127
|
+
description: |-
|
|
128
|
+
Requests the server return the current state for
|
|
129
|
+
each room returned.
|
|
130
|
+
groupings:
|
|
131
|
+
type: object
|
|
132
|
+
title: Groupings
|
|
133
|
+
description: |-
|
|
134
|
+
Requests that the server partitions the result set
|
|
135
|
+
based on the provided list of keys.
|
|
136
|
+
properties:
|
|
137
|
+
group_by:
|
|
138
|
+
type: array
|
|
139
|
+
title: Groups
|
|
140
|
+
description: List of groups to request.
|
|
141
|
+
items:
|
|
142
|
+
type: object
|
|
143
|
+
title: Group
|
|
144
|
+
description: Configuration for group.
|
|
145
|
+
properties:
|
|
146
|
+
key:
|
|
147
|
+
type: string
|
|
148
|
+
title: Group Key
|
|
149
|
+
description: Key that defines the group.
|
|
150
|
+
enum:
|
|
151
|
+
- room_id
|
|
152
|
+
- sender
|
|
153
|
+
required:
|
|
154
|
+
- search_term
|
|
155
|
+
required:
|
|
156
|
+
- search_categories
|
|
157
|
+
required: true
|
|
158
|
+
responses:
|
|
159
|
+
"200":
|
|
160
|
+
description: Results of the search.
|
|
161
|
+
content:
|
|
162
|
+
application/json:
|
|
163
|
+
schema:
|
|
164
|
+
type: object
|
|
165
|
+
title: Results
|
|
166
|
+
required:
|
|
167
|
+
- search_categories
|
|
168
|
+
properties:
|
|
169
|
+
search_categories:
|
|
170
|
+
type: object
|
|
171
|
+
title: Result Categories
|
|
172
|
+
description: Describes which categories to search in and their criteria.
|
|
173
|
+
properties:
|
|
174
|
+
room_events:
|
|
175
|
+
type: object
|
|
176
|
+
title: Result Room Events
|
|
177
|
+
description: Mapping of category name to search criteria.
|
|
178
|
+
properties:
|
|
179
|
+
count:
|
|
180
|
+
type: integer
|
|
181
|
+
description: An approximate count of the total number of results found.
|
|
182
|
+
highlights:
|
|
183
|
+
type: array
|
|
184
|
+
title: Highlights
|
|
185
|
+
description: List of words which should be highlighted, useful for stemming
|
|
186
|
+
which may change the query terms.
|
|
187
|
+
items:
|
|
188
|
+
type: string
|
|
189
|
+
results:
|
|
190
|
+
type: array
|
|
191
|
+
title: Results
|
|
192
|
+
description: List of results in the requested order.
|
|
193
|
+
items:
|
|
194
|
+
type: object
|
|
195
|
+
title: Result
|
|
196
|
+
description: The result object.
|
|
197
|
+
properties:
|
|
198
|
+
rank:
|
|
199
|
+
type: number
|
|
200
|
+
description: A number that describes how closely this result matches the search.
|
|
201
|
+
Higher is closer.
|
|
202
|
+
result:
|
|
203
|
+
type: object
|
|
204
|
+
title: Event
|
|
205
|
+
description: The event that matched.
|
|
206
|
+
allOf:
|
|
207
|
+
- $ref: definitions/client_event.yaml
|
|
208
|
+
context:
|
|
209
|
+
type: object
|
|
210
|
+
title: Event Context
|
|
211
|
+
description: Context for result, if requested.
|
|
212
|
+
properties:
|
|
213
|
+
start:
|
|
214
|
+
type: string
|
|
215
|
+
title: Start Token
|
|
216
|
+
description: Pagination token for the start of the chunk
|
|
217
|
+
end:
|
|
218
|
+
type: string
|
|
219
|
+
title: End Token
|
|
220
|
+
description: Pagination token for the end of the chunk
|
|
221
|
+
profile_info:
|
|
222
|
+
type: object
|
|
223
|
+
title: Profile Information
|
|
224
|
+
description: |-
|
|
225
|
+
The historic profile information of the
|
|
226
|
+
users that sent the events returned.
|
|
227
|
+
|
|
228
|
+
The key is the user ID for which
|
|
229
|
+
the profile belongs to.
|
|
230
|
+
patternProperties:
|
|
231
|
+
"^@":
|
|
232
|
+
x-pattern-format: mx-user-id
|
|
233
|
+
type: object
|
|
234
|
+
title: User Profile
|
|
235
|
+
properties:
|
|
236
|
+
displayname:
|
|
237
|
+
type: string
|
|
238
|
+
title: Display name
|
|
239
|
+
avatar_url:
|
|
240
|
+
type: string
|
|
241
|
+
format: uri
|
|
242
|
+
title: Avatar Url
|
|
243
|
+
events_before:
|
|
244
|
+
type: array
|
|
245
|
+
title: Events Before
|
|
246
|
+
description: Events just before the result.
|
|
247
|
+
items:
|
|
248
|
+
title: Event
|
|
249
|
+
type: object
|
|
250
|
+
$ref: definitions/client_event.yaml
|
|
251
|
+
events_after:
|
|
252
|
+
type: array
|
|
253
|
+
title: Events After
|
|
254
|
+
description: Events just after the result.
|
|
255
|
+
items:
|
|
256
|
+
title: Event
|
|
257
|
+
type: object
|
|
258
|
+
$ref: definitions/client_event.yaml
|
|
259
|
+
state:
|
|
260
|
+
type: object
|
|
261
|
+
title: Current state
|
|
262
|
+
description: |-
|
|
263
|
+
The current state for every room in the results.
|
|
264
|
+
This is included if the request had the
|
|
265
|
+
`include_state` key set with a value of `true`.
|
|
266
|
+
|
|
267
|
+
The key is the room ID for which the `State
|
|
268
|
+
Event` array belongs to.
|
|
269
|
+
patternProperties:
|
|
270
|
+
"^!":
|
|
271
|
+
x-pattern-format: mx-room-id
|
|
272
|
+
type: array
|
|
273
|
+
title: Room State
|
|
274
|
+
items:
|
|
275
|
+
$ref: definitions/client_event.yaml
|
|
276
|
+
groups:
|
|
277
|
+
type: object
|
|
278
|
+
title: Groups
|
|
279
|
+
description: |-
|
|
280
|
+
Any groups that were requested.
|
|
281
|
+
|
|
282
|
+
The outer `string` key is the group key requested (eg: `room_id`
|
|
283
|
+
or `sender`). The inner `string` key is the grouped value (eg:
|
|
284
|
+
a room's ID or a user's ID).
|
|
285
|
+
additionalProperties:
|
|
286
|
+
type: object
|
|
287
|
+
title: Group Key
|
|
288
|
+
description: The results for a given group.
|
|
289
|
+
additionalProperties:
|
|
290
|
+
type: object
|
|
291
|
+
title: Group Value
|
|
292
|
+
description: The results for a particular group value.
|
|
293
|
+
properties:
|
|
294
|
+
next_batch:
|
|
295
|
+
type: string
|
|
296
|
+
title: Next Batch in Group
|
|
297
|
+
description: |-
|
|
298
|
+
Token that can be used to get the next batch
|
|
299
|
+
of results in the group, by passing as the
|
|
300
|
+
`next_batch` parameter to the next call. If
|
|
301
|
+
this field is absent, there are no more
|
|
302
|
+
results in this group.
|
|
303
|
+
order:
|
|
304
|
+
type: integer
|
|
305
|
+
title: Group Order
|
|
306
|
+
description: |-
|
|
307
|
+
Key that can be used to order different
|
|
308
|
+
groups.
|
|
309
|
+
results:
|
|
310
|
+
type: array
|
|
311
|
+
description: Which results are in this group.
|
|
312
|
+
items:
|
|
313
|
+
type: string
|
|
314
|
+
title: Result Event ID
|
|
315
|
+
next_batch:
|
|
316
|
+
type: string
|
|
317
|
+
title: Next Batch
|
|
318
|
+
description: |-
|
|
319
|
+
Token that can be used to get the next batch of
|
|
320
|
+
results, by passing as the `next_batch` parameter to
|
|
321
|
+
the next call. If this field is absent, there are no
|
|
322
|
+
more results.
|
|
323
|
+
examples:
|
|
324
|
+
response:
|
|
325
|
+
value: {
|
|
326
|
+
"search_categories": {
|
|
327
|
+
"room_events": {
|
|
328
|
+
"groups": {
|
|
329
|
+
"room_id": {
|
|
330
|
+
"!qPewotXpIctQySfjSy:localhost": {
|
|
331
|
+
"order": 1,
|
|
332
|
+
"next_batch": "BdgFsdfHSf-dsFD",
|
|
333
|
+
"results": [
|
|
334
|
+
"$144429830826TWwbB:localhost"
|
|
335
|
+
]
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
},
|
|
339
|
+
"highlights": [
|
|
340
|
+
"martians",
|
|
341
|
+
"men"
|
|
342
|
+
],
|
|
343
|
+
"next_batch": "5FdgFsd234dfgsdfFD",
|
|
344
|
+
"count": 1224,
|
|
345
|
+
"results": [
|
|
346
|
+
{
|
|
347
|
+
"rank": 0.00424866,
|
|
348
|
+
"result": {
|
|
349
|
+
"room_id": "!qPewotXpIctQySfjSy:localhost",
|
|
350
|
+
"event_id": "$144429830826TWwbB:localhost",
|
|
351
|
+
"$ref": "../../event-schemas/examples/m.room.message$m.text.yaml"
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
]
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
"400":
|
|
359
|
+
description: Part of the request was invalid.
|
|
360
|
+
"429":
|
|
361
|
+
description: This request was rate-limited.
|
|
362
|
+
content:
|
|
363
|
+
application/json:
|
|
364
|
+
schema:
|
|
365
|
+
$ref: definitions/errors/rate_limited.yaml
|
|
366
|
+
tags:
|
|
367
|
+
- Search
|
|
368
|
+
servers:
|
|
369
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
370
|
+
variables:
|
|
371
|
+
protocol:
|
|
372
|
+
enum:
|
|
373
|
+
- http
|
|
374
|
+
- https
|
|
375
|
+
default: https
|
|
376
|
+
hostname:
|
|
377
|
+
default: localhost:8008
|
|
378
|
+
basePath:
|
|
379
|
+
default: /_matrix/client/v3
|
|
380
|
+
components:
|
|
381
|
+
securitySchemes:
|
|
382
|
+
accessTokenQuery:
|
|
383
|
+
$ref: definitions/security.yaml#/accessTokenQuery
|
|
384
|
+
accessTokenBearer:
|
|
385
|
+
$ref: definitions/security.yaml#/accessTokenBearer
|
|
@@ -0,0 +1,237 @@
|
|
|
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
|
+
openapi: 3.1.0
|
|
15
|
+
info:
|
|
16
|
+
title: Matrix Client-Server Space Hierarchy API
|
|
17
|
+
version: 1.0.0
|
|
18
|
+
paths:
|
|
19
|
+
"/rooms/{roomId}/hierarchy":
|
|
20
|
+
get:
|
|
21
|
+
x-addedInMatrixVersion: "1.2"
|
|
22
|
+
summary: Retrieve a portion of a space tree.
|
|
23
|
+
description: |-
|
|
24
|
+
Paginates over the space tree in a depth-first manner to locate child rooms of a given space.
|
|
25
|
+
|
|
26
|
+
Where a child room is unknown to the local server, federation is used to fill in the details.
|
|
27
|
+
The servers listed in the `via` array should be contacted to attempt to fill in missing rooms.
|
|
28
|
+
|
|
29
|
+
Only [`m.space.child`](/client-server-api/#mspacechild) state events of the room are considered.
|
|
30
|
+
Invalid child rooms and parent events are not covered by this endpoint.
|
|
31
|
+
operationId: getSpaceHierarchy
|
|
32
|
+
security:
|
|
33
|
+
- accessTokenQuery: []
|
|
34
|
+
- accessTokenBearer: []
|
|
35
|
+
parameters:
|
|
36
|
+
- in: path
|
|
37
|
+
name: roomId
|
|
38
|
+
description: The room ID of the space to get a hierarchy for.
|
|
39
|
+
required: true
|
|
40
|
+
example: "!space:example.org"
|
|
41
|
+
schema:
|
|
42
|
+
type: string
|
|
43
|
+
- in: query
|
|
44
|
+
name: suggested_only
|
|
45
|
+
description: |-
|
|
46
|
+
Optional (default `false`) flag to indicate whether or not the server should only consider
|
|
47
|
+
suggested rooms. Suggested rooms are annotated in their [`m.space.child`](/client-server-api/#mspacechild)
|
|
48
|
+
event contents.
|
|
49
|
+
example: true
|
|
50
|
+
schema:
|
|
51
|
+
type: boolean
|
|
52
|
+
- in: query
|
|
53
|
+
name: limit
|
|
54
|
+
description: |-
|
|
55
|
+
Optional limit for the maximum number of rooms to include per response. Must be an integer
|
|
56
|
+
greater than zero.
|
|
57
|
+
|
|
58
|
+
Servers should apply a default value, and impose a maximum value to avoid resource exhaustion.
|
|
59
|
+
example: 20
|
|
60
|
+
schema:
|
|
61
|
+
type: integer
|
|
62
|
+
- in: query
|
|
63
|
+
name: max_depth
|
|
64
|
+
description: |-
|
|
65
|
+
Optional limit for how far to go into the space. Must be a non-negative integer.
|
|
66
|
+
|
|
67
|
+
When reached, no further child rooms will be returned.
|
|
68
|
+
|
|
69
|
+
Servers should apply a default value, and impose a maximum value to avoid resource exhaustion.
|
|
70
|
+
example: 5
|
|
71
|
+
schema:
|
|
72
|
+
type: integer
|
|
73
|
+
- in: query
|
|
74
|
+
name: from
|
|
75
|
+
description: |-
|
|
76
|
+
A pagination token from a previous result. If specified, `max_depth` and `suggested_only` cannot
|
|
77
|
+
be changed from the first request.
|
|
78
|
+
example: next_batch_token
|
|
79
|
+
schema:
|
|
80
|
+
type: string
|
|
81
|
+
responses:
|
|
82
|
+
"200":
|
|
83
|
+
description: A portion of the space tree, starting at the provided room ID.
|
|
84
|
+
content:
|
|
85
|
+
application/json:
|
|
86
|
+
schema:
|
|
87
|
+
type: object
|
|
88
|
+
properties:
|
|
89
|
+
rooms:
|
|
90
|
+
type: array
|
|
91
|
+
description: |-
|
|
92
|
+
The rooms for the current page, with the current filters.
|
|
93
|
+
|
|
94
|
+
The server should return any rooms where at least one of the following conditions is true:
|
|
95
|
+
|
|
96
|
+
* The requesting user is currently a member (their [room membership](#room-membership) is `join`).
|
|
97
|
+
* The requesting user already has permission to join, i.e. one of the following:
|
|
98
|
+
* The user's room membership is `invite`.
|
|
99
|
+
* The room's [join rules](#mroomjoin_rules) are set to `public`.
|
|
100
|
+
* The room's join rules are set to [`restricted`](#restricted-rooms), provided the user meets one of the specified conditions.
|
|
101
|
+
* The room is "knockable" (the room's join rules are set to `knock`, or `knock_restricted`, in a room version that supports those settings).
|
|
102
|
+
* The room's [`m.room.history_visibility`](#room-history-visibility) is set to `world_readable`.
|
|
103
|
+
items:
|
|
104
|
+
allOf:
|
|
105
|
+
- $ref: definitions/room_summary.yaml
|
|
106
|
+
- type: object
|
|
107
|
+
title: SpaceHierarchyRoomsChunk
|
|
108
|
+
properties:
|
|
109
|
+
children_state:
|
|
110
|
+
type: array
|
|
111
|
+
description: |-
|
|
112
|
+
The [`m.space.child`](/client-server-api/#mspacechild) events of the space-room, represented
|
|
113
|
+
as [Stripped State Events](/client-server-api/#stripped-state) with an added `origin_server_ts` key.
|
|
114
|
+
|
|
115
|
+
If the room is not a space-room, this should be empty.
|
|
116
|
+
items:
|
|
117
|
+
allOf:
|
|
118
|
+
- $ref: ../../event-schemas/schema/core-event-schema/stripped_state.yaml
|
|
119
|
+
- type: object
|
|
120
|
+
title: StrippedChildStateEvent
|
|
121
|
+
properties:
|
|
122
|
+
origin_server_ts:
|
|
123
|
+
type: integer
|
|
124
|
+
format: int64
|
|
125
|
+
description: The `origin_server_ts` for the event.
|
|
126
|
+
required:
|
|
127
|
+
- origin_server_ts
|
|
128
|
+
room_type:
|
|
129
|
+
x-addedInMatrixVersion: "1.4" # Extends room_summary.yaml
|
|
130
|
+
allowed_room_ids:
|
|
131
|
+
x-addedInMatrixVersion: "1.15" # Extends room_summary.yaml
|
|
132
|
+
encryption:
|
|
133
|
+
x-addedInMatrixVersion: "1.15" # Extends room_summary.yaml
|
|
134
|
+
room_version:
|
|
135
|
+
x-addedInMatrixVersion: "1.15" # Extends room_summary.yaml
|
|
136
|
+
required:
|
|
137
|
+
- children_state
|
|
138
|
+
next_batch:
|
|
139
|
+
type: string
|
|
140
|
+
description: |-
|
|
141
|
+
A token to supply to `from` to keep paginating the responses. Not present when there are
|
|
142
|
+
no further results.
|
|
143
|
+
required:
|
|
144
|
+
- rooms
|
|
145
|
+
examples:
|
|
146
|
+
response:
|
|
147
|
+
value: {
|
|
148
|
+
"rooms": [
|
|
149
|
+
{
|
|
150
|
+
"room_id": "!space:example.org",
|
|
151
|
+
"avatar_url": "mxc://example.org/abcdef",
|
|
152
|
+
"guest_can_join": false,
|
|
153
|
+
"name": "The First Space",
|
|
154
|
+
"topic": "No other spaces were created first, ever",
|
|
155
|
+
"world_readable": true,
|
|
156
|
+
"join_rule": "public",
|
|
157
|
+
"room_type": "m.space",
|
|
158
|
+
"num_joined_members": 42,
|
|
159
|
+
"canonical_alias": "#general:example.org",
|
|
160
|
+
"children_state": [
|
|
161
|
+
{
|
|
162
|
+
"type": "m.space.child",
|
|
163
|
+
"state_key": "!a:example.org",
|
|
164
|
+
"content": {
|
|
165
|
+
"via": [
|
|
166
|
+
"example.org"
|
|
167
|
+
]
|
|
168
|
+
},
|
|
169
|
+
"sender": "@alice:example.org",
|
|
170
|
+
"origin_server_ts": 1629413349153
|
|
171
|
+
}
|
|
172
|
+
]
|
|
173
|
+
}
|
|
174
|
+
],
|
|
175
|
+
"next_batch": "next_batch_token"
|
|
176
|
+
}
|
|
177
|
+
"400":
|
|
178
|
+
description: |-
|
|
179
|
+
The request was invalid in some way. A meaningful `errcode`
|
|
180
|
+
and description error text will be returned. Example reasons for rejection are:
|
|
181
|
+
|
|
182
|
+
- The `from` token is unknown to the server.
|
|
183
|
+
- `suggested_only` or `max_depth` changed during pagination.
|
|
184
|
+
content:
|
|
185
|
+
application/json:
|
|
186
|
+
schema:
|
|
187
|
+
$ref: definitions/errors/error.yaml
|
|
188
|
+
examples:
|
|
189
|
+
response:
|
|
190
|
+
value: {
|
|
191
|
+
"errcode": "M_INVALID_PARAM",
|
|
192
|
+
"error": "suggested_only and max_depth cannot change on paginated requests"
|
|
193
|
+
}
|
|
194
|
+
"403":
|
|
195
|
+
description: |-
|
|
196
|
+
The user cannot view or peek on the room. A meaningful `errcode`
|
|
197
|
+
and description error text will be returned. Example reasons for rejection are:
|
|
198
|
+
|
|
199
|
+
- The room is not set up for peeking.
|
|
200
|
+
- The user has been banned from the room.
|
|
201
|
+
- The room does not exist.
|
|
202
|
+
content:
|
|
203
|
+
application/json:
|
|
204
|
+
schema:
|
|
205
|
+
$ref: definitions/errors/error.yaml
|
|
206
|
+
examples:
|
|
207
|
+
response:
|
|
208
|
+
value: {
|
|
209
|
+
"errcode": "M_FORBIDDEN",
|
|
210
|
+
"error": "You are not allowed to view this room."
|
|
211
|
+
}
|
|
212
|
+
"429":
|
|
213
|
+
description: This request was rate-limited.
|
|
214
|
+
content:
|
|
215
|
+
application/json:
|
|
216
|
+
schema:
|
|
217
|
+
$ref: definitions/errors/rate_limited.yaml
|
|
218
|
+
tags:
|
|
219
|
+
- Spaces
|
|
220
|
+
servers:
|
|
221
|
+
- url: "{protocol}://{hostname}{basePath}"
|
|
222
|
+
variables:
|
|
223
|
+
protocol:
|
|
224
|
+
enum:
|
|
225
|
+
- http
|
|
226
|
+
- https
|
|
227
|
+
default: https
|
|
228
|
+
hostname:
|
|
229
|
+
default: localhost:8008
|
|
230
|
+
basePath:
|
|
231
|
+
default: /_matrix/client/v1
|
|
232
|
+
components:
|
|
233
|
+
securitySchemes:
|
|
234
|
+
accessTokenQuery:
|
|
235
|
+
$ref: definitions/security.yaml#/accessTokenQuery
|
|
236
|
+
accessTokenBearer:
|
|
237
|
+
$ref: definitions/security.yaml#/accessTokenBearer
|