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.
Files changed (365) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +131 -0
  3. data/data/discord-api-spec/openapi.json +40404 -0
  4. data/data/matrix-spec/api/client-server/account-data.yaml +389 -0
  5. data/data/matrix-spec/api/client-server/account_deactivation.yaml +149 -0
  6. data/data/matrix-spec/api/client-server/admin.yaml +512 -0
  7. data/data/matrix-spec/api/client-server/administrative_contact.yaml +620 -0
  8. data/data/matrix-spec/api/client-server/appservice_ping.yaml +183 -0
  9. data/data/matrix-spec/api/client-server/appservice_room_directory.yaml +104 -0
  10. data/data/matrix-spec/api/client-server/authed-content-repo.yaml +590 -0
  11. data/data/matrix-spec/api/client-server/banning.yaml +177 -0
  12. data/data/matrix-spec/api/client-server/capabilities.yaml +235 -0
  13. data/data/matrix-spec/api/client-server/content-repo.yaml +887 -0
  14. data/data/matrix-spec/api/client-server/create_room.yaml +306 -0
  15. data/data/matrix-spec/api/client-server/cross_signing.yaml +300 -0
  16. data/data/matrix-spec/api/client-server/definitions/auth_data.yaml +34 -0
  17. data/data/matrix-spec/api/client-server/definitions/auth_response.yaml +62 -0
  18. data/data/matrix-spec/api/client-server/definitions/client_device.yaml +44 -0
  19. data/data/matrix-spec/api/client-server/definitions/client_event.yaml +49 -0
  20. data/data/matrix-spec/api/client-server/definitions/client_event_without_room_id.yaml +147 -0
  21. data/data/matrix-spec/api/client-server/definitions/cross_signing_key.yaml +57 -0
  22. data/data/matrix-spec/api/client-server/definitions/device_keys.yaml +70 -0
  23. data/data/matrix-spec/api/client-server/definitions/errors/error.yaml +26 -0
  24. data/data/matrix-spec/api/client-server/definitions/errors/rate_limited.yaml +34 -0
  25. data/data/matrix-spec/api/client-server/definitions/event_batch.yaml +22 -0
  26. data/data/matrix-spec/api/client-server/definitions/event_filter.yaml +55 -0
  27. data/data/matrix-spec/api/client-server/definitions/invite_3pid.yaml +45 -0
  28. data/data/matrix-spec/api/client-server/definitions/key_backup_auth_data.yaml +36 -0
  29. data/data/matrix-spec/api/client-server/definitions/key_backup_data.yaml +50 -0
  30. data/data/matrix-spec/api/client-server/definitions/key_backup_session_data.yaml +57 -0
  31. data/data/matrix-spec/api/client-server/definitions/m.login.terms_params.yaml +83 -0
  32. data/data/matrix-spec/api/client-server/definitions/m.mentions.yaml +33 -0
  33. data/data/matrix-spec/api/client-server/definitions/m.oauth_params.yaml +30 -0
  34. data/data/matrix-spec/api/client-server/definitions/m.relates_to.yaml +45 -0
  35. data/data/matrix-spec/api/client-server/definitions/megolm_export_session_data.yaml +39 -0
  36. data/data/matrix-spec/api/client-server/definitions/olm_payload.yaml +88 -0
  37. data/data/matrix-spec/api/client-server/definitions/one_time_keys.yaml +27 -0
  38. data/data/matrix-spec/api/client-server/definitions/openid_token.yaml +37 -0
  39. data/data/matrix-spec/api/client-server/definitions/protocol.yaml +44 -0
  40. data/data/matrix-spec/api/client-server/definitions/public_rooms_chunk.yaml +74 -0
  41. data/data/matrix-spec/api/client-server/definitions/public_rooms_response.yaml +59 -0
  42. data/data/matrix-spec/api/client-server/definitions/push_condition.yaml +53 -0
  43. data/data/matrix-spec/api/client-server/definitions/push_rule.yaml +53 -0
  44. data/data/matrix-spec/api/client-server/definitions/push_ruleset.yaml +206 -0
  45. data/data/matrix-spec/api/client-server/definitions/recent_emoji.yaml +29 -0
  46. data/data/matrix-spec/api/client-server/definitions/request_email_validation.yaml +36 -0
  47. data/data/matrix-spec/api/client-server/definitions/request_msisdn_validation.yaml +36 -0
  48. data/data/matrix-spec/api/client-server/definitions/request_token_response.yaml +46 -0
  49. data/data/matrix-spec/api/client-server/definitions/room_event_filter.yaml +60 -0
  50. data/data/matrix-spec/api/client-server/definitions/room_key_backup.yaml +37 -0
  51. data/data/matrix-spec/api/client-server/definitions/room_summary.yaml +44 -0
  52. data/data/matrix-spec/api/client-server/definitions/security.yaml +47 -0
  53. data/data/matrix-spec/api/client-server/definitions/sso_login_flow.yaml +98 -0
  54. data/data/matrix-spec/api/client-server/definitions/state_event_batch.yaml +21 -0
  55. data/data/matrix-spec/api/client-server/definitions/sync_filter.yaml +86 -0
  56. data/data/matrix-spec/api/client-server/definitions/tag.yaml +24 -0
  57. data/data/matrix-spec/api/client-server/definitions/third_party_signed.yaml +45 -0
  58. data/data/matrix-spec/api/client-server/definitions/timeline_batch.yaml +36 -0
  59. data/data/matrix-spec/api/client-server/definitions/user_identifier.yaml +27 -0
  60. data/data/matrix-spec/api/client-server/definitions/wellknown/full.yaml +38 -0
  61. data/data/matrix-spec/api/client-server/definitions/wellknown/homeserver.yaml +25 -0
  62. data/data/matrix-spec/api/client-server/definitions/wellknown/identity_server.yaml +25 -0
  63. data/data/matrix-spec/api/client-server/device_management.yaml +314 -0
  64. data/data/matrix-spec/api/client-server/directory.yaml +318 -0
  65. data/data/matrix-spec/api/client-server/event_context.yaml +161 -0
  66. data/data/matrix-spec/api/client-server/filter.yaml +224 -0
  67. data/data/matrix-spec/api/client-server/inviting.yaml +149 -0
  68. data/data/matrix-spec/api/client-server/joining.yaml +238 -0
  69. data/data/matrix-spec/api/client-server/key_backup.yaml +993 -0
  70. data/data/matrix-spec/api/client-server/keys.yaml +482 -0
  71. data/data/matrix-spec/api/client-server/kicking.yaml +110 -0
  72. data/data/matrix-spec/api/client-server/knocking.yaml +152 -0
  73. data/data/matrix-spec/api/client-server/leaving.yaml +163 -0
  74. data/data/matrix-spec/api/client-server/list_joined_rooms.yaml +68 -0
  75. data/data/matrix-spec/api/client-server/list_public_rooms.yaml +280 -0
  76. data/data/matrix-spec/api/client-server/login.yaml +321 -0
  77. data/data/matrix-spec/api/client-server/login_token.yaml +138 -0
  78. data/data/matrix-spec/api/client-server/logout.yaml +86 -0
  79. data/data/matrix-spec/api/client-server/message_pagination.yaml +194 -0
  80. data/data/matrix-spec/api/client-server/notifications.yaml +152 -0
  81. data/data/matrix-spec/api/client-server/oauth_server_metadata.yaml +238 -0
  82. data/data/matrix-spec/api/client-server/old_sync.yaml +379 -0
  83. data/data/matrix-spec/api/client-server/openid.yaml +98 -0
  84. data/data/matrix-spec/api/client-server/password_management.yaml +246 -0
  85. data/data/matrix-spec/api/client-server/peeking_events.yaml +122 -0
  86. data/data/matrix-spec/api/client-server/policy_server.yaml +82 -0
  87. data/data/matrix-spec/api/client-server/presence.yaml +169 -0
  88. data/data/matrix-spec/api/client-server/profile.yaml +366 -0
  89. data/data/matrix-spec/api/client-server/pusher.yaml +303 -0
  90. data/data/matrix-spec/api/client-server/pushrules.yaml +633 -0
  91. data/data/matrix-spec/api/client-server/read_markers.yaml +103 -0
  92. data/data/matrix-spec/api/client-server/receipts.yaml +139 -0
  93. data/data/matrix-spec/api/client-server/redaction.yaml +116 -0
  94. data/data/matrix-spec/api/client-server/refresh.yaml +119 -0
  95. data/data/matrix-spec/api/client-server/registration.yaml +488 -0
  96. data/data/matrix-spec/api/client-server/registration_tokens.yaml +93 -0
  97. data/data/matrix-spec/api/client-server/relations.yaml +382 -0
  98. data/data/matrix-spec/api/client-server/report_content.yaml +283 -0
  99. data/data/matrix-spec/api/client-server/room_event_by_timestamp.yaml +147 -0
  100. data/data/matrix-spec/api/client-server/room_initial_sync.yaml +188 -0
  101. data/data/matrix-spec/api/client-server/room_send.yaml +130 -0
  102. data/data/matrix-spec/api/client-server/room_state.yaml +159 -0
  103. data/data/matrix-spec/api/client-server/room_summary.yaml +138 -0
  104. data/data/matrix-spec/api/client-server/room_upgrades.yaml +130 -0
  105. data/data/matrix-spec/api/client-server/rooms.yaml +380 -0
  106. data/data/matrix-spec/api/client-server/search.yaml +385 -0
  107. data/data/matrix-spec/api/client-server/space_hierarchy.yaml +237 -0
  108. data/data/matrix-spec/api/client-server/sso_login_redirect.yaml +135 -0
  109. data/data/matrix-spec/api/client-server/support.yaml +142 -0
  110. data/data/matrix-spec/api/client-server/sync.yaml +692 -0
  111. data/data/matrix-spec/api/client-server/tags.yaml +183 -0
  112. data/data/matrix-spec/api/client-server/third_party_lookup.yaml +324 -0
  113. data/data/matrix-spec/api/client-server/third_party_membership.yaml +139 -0
  114. data/data/matrix-spec/api/client-server/threads_list.yaml +167 -0
  115. data/data/matrix-spec/api/client-server/to_device.yaml +104 -0
  116. data/data/matrix-spec/api/client-server/typing.yaml +103 -0
  117. data/data/matrix-spec/api/client-server/users.yaml +136 -0
  118. data/data/matrix-spec/api/client-server/versions.yaml +108 -0
  119. data/data/matrix-spec/api/client-server/voip.yaml +93 -0
  120. data/data/matrix-spec/api/client-server/wellknown.yaml +60 -0
  121. data/data/matrix-spec/api/client-server/whoami.yaml +121 -0
  122. data/data/matrix-spec/event-schemas/examples/core/event.json +6 -0
  123. data/data/matrix-spec/event-schemas/examples/core/room_edu.json +3 -0
  124. data/data/matrix-spec/event-schemas/examples/core/room_event.json +11 -0
  125. data/data/matrix-spec/event-schemas/examples/core/state_event.json +4 -0
  126. data/data/matrix-spec/event-schemas/examples/invite_room_state.json +18 -0
  127. data/data/matrix-spec/event-schemas/examples/knock_room_state.json +18 -0
  128. data/data/matrix-spec/event-schemas/examples/m.accepted_terms.yaml +10 -0
  129. data/data/matrix-spec/event-schemas/examples/m.call.answer.yaml +21 -0
  130. data/data/matrix-spec/event-schemas/examples/m.call.candidates.yaml +16 -0
  131. data/data/matrix-spec/event-schemas/examples/m.call.hangup.yaml +10 -0
  132. data/data/matrix-spec/event-schemas/examples/m.call.invite.yaml +22 -0
  133. data/data/matrix-spec/event-schemas/examples/m.call.negotiate.yaml +22 -0
  134. data/data/matrix-spec/event-schemas/examples/m.call.reject.yaml +9 -0
  135. data/data/matrix-spec/event-schemas/examples/m.call.sdp_stream_metadata_changed.yaml +16 -0
  136. data/data/matrix-spec/event-schemas/examples/m.call.select_answer.yaml +10 -0
  137. data/data/matrix-spec/event-schemas/examples/m.direct.yaml +10 -0
  138. data/data/matrix-spec/event-schemas/examples/m.dummy.yaml +4 -0
  139. data/data/matrix-spec/event-schemas/examples/m.forwarded_room_key.yaml +14 -0
  140. data/data/matrix-spec/event-schemas/examples/m.fully_read.yaml +7 -0
  141. data/data/matrix-spec/event-schemas/examples/m.identity_server.yaml +7 -0
  142. data/data/matrix-spec/event-schemas/examples/m.ignored_user_list.yaml +9 -0
  143. data/data/matrix-spec/event-schemas/examples/m.invite_permission_config.yaml +7 -0
  144. data/data/matrix-spec/event-schemas/examples/m.key.verification.accept.yaml +12 -0
  145. data/data/matrix-spec/event-schemas/examples/m.key.verification.cancel.yaml +8 -0
  146. data/data/matrix-spec/event-schemas/examples/m.key.verification.done.yaml +6 -0
  147. data/data/matrix-spec/event-schemas/examples/m.key.verification.key.yaml +7 -0
  148. data/data/matrix-spec/event-schemas/examples/m.key.verification.mac.yaml +10 -0
  149. data/data/matrix-spec/event-schemas/examples/m.key.verification.ready.yaml +10 -0
  150. data/data/matrix-spec/event-schemas/examples/m.key.verification.request.yaml +11 -0
  151. data/data/matrix-spec/event-schemas/examples/m.key.verification.start$m.sas.v1.yaml +12 -0
  152. data/data/matrix-spec/event-schemas/examples/m.key.verification.start.yaml +8 -0
  153. data/data/matrix-spec/event-schemas/examples/m.key_backup.yaml +7 -0
  154. data/data/matrix-spec/event-schemas/examples/m.marked_unread.yaml +7 -0
  155. data/data/matrix-spec/event-schemas/examples/m.policy.rule.room.yaml +10 -0
  156. data/data/matrix-spec/event-schemas/examples/m.policy.rule.server.yaml +10 -0
  157. data/data/matrix-spec/event-schemas/examples/m.policy.rule.user.yaml +10 -0
  158. data/data/matrix-spec/event-schemas/examples/m.presence.yaml +12 -0
  159. data/data/matrix-spec/event-schemas/examples/m.push_rules.yaml +177 -0
  160. data/data/matrix-spec/event-schemas/examples/m.reaction.yaml +11 -0
  161. data/data/matrix-spec/event-schemas/examples/m.receipt.yaml +18 -0
  162. data/data/matrix-spec/event-schemas/examples/m.recent_emoji.yaml +16 -0
  163. data/data/matrix-spec/event-schemas/examples/m.room.avatar.yaml +14 -0
  164. data/data/matrix-spec/event-schemas/examples/m.room.canonical_alias.yaml +12 -0
  165. data/data/matrix-spec/event-schemas/examples/m.room.create.yaml +13 -0
  166. data/data/matrix-spec/event-schemas/examples/m.room.encrypted$megolm.yaml +11 -0
  167. data/data/matrix-spec/event-schemas/examples/m.room.encrypted$olm.yaml +14 -0
  168. data/data/matrix-spec/event-schemas/examples/m.room.encryption.yaml +10 -0
  169. data/data/matrix-spec/event-schemas/examples/m.room.guest_access.yaml +8 -0
  170. data/data/matrix-spec/event-schemas/examples/m.room.history_visibility.yaml +8 -0
  171. data/data/matrix-spec/event-schemas/examples/m.room.join_rules$restricted.yaml +18 -0
  172. data/data/matrix-spec/event-schemas/examples/m.room.join_rules.yaml +8 -0
  173. data/data/matrix-spec/event-schemas/examples/m.room.member$invite_room_state.yaml +15 -0
  174. data/data/matrix-spec/event-schemas/examples/m.room.member$join_authorised_via_users_server.yaml +12 -0
  175. data/data/matrix-spec/event-schemas/examples/m.room.member$knock_room_state.yaml +15 -0
  176. data/data/matrix-spec/event-schemas/examples/m.room.member$third_party_invite.yaml +20 -0
  177. data/data/matrix-spec/event-schemas/examples/m.room.member.yaml +12 -0
  178. data/data/matrix-spec/event-schemas/examples/m.room.message$m.audio.yaml +14 -0
  179. data/data/matrix-spec/event-schemas/examples/m.room.message$m.emote.yaml +10 -0
  180. data/data/matrix-spec/event-schemas/examples/m.room.message$m.file.yaml +14 -0
  181. data/data/matrix-spec/event-schemas/examples/m.room.message$m.image.yaml +16 -0
  182. data/data/matrix-spec/event-schemas/examples/m.room.message$m.key.verification.request.yaml +19 -0
  183. data/data/matrix-spec/event-schemas/examples/m.room.message$m.location.yaml +18 -0
  184. data/data/matrix-spec/event-schemas/examples/m.room.message$m.notice.yaml +10 -0
  185. data/data/matrix-spec/event-schemas/examples/m.room.message$m.server_notice.yaml +11 -0
  186. data/data/matrix-spec/event-schemas/examples/m.room.message$m.text.yaml +10 -0
  187. data/data/matrix-spec/event-schemas/examples/m.room.message$m.video.yaml +23 -0
  188. data/data/matrix-spec/event-schemas/examples/m.room.name.yaml +8 -0
  189. data/data/matrix-spec/event-schemas/examples/m.room.pinned_events.yaml +8 -0
  190. data/data/matrix-spec/event-schemas/examples/m.room.policy.yaml +11 -0
  191. data/data/matrix-spec/event-schemas/examples/m.room.power_levels.yaml +24 -0
  192. data/data/matrix-spec/event-schemas/examples/m.room.redaction.yaml +8 -0
  193. data/data/matrix-spec/event-schemas/examples/m.room.server_acl.yaml +10 -0
  194. data/data/matrix-spec/event-schemas/examples/m.room.third_party_invite.yaml +14 -0
  195. data/data/matrix-spec/event-schemas/examples/m.room.tombstone.yaml +9 -0
  196. data/data/matrix-spec/event-schemas/examples/m.room.topic.yaml +16 -0
  197. data/data/matrix-spec/event-schemas/examples/m.room_key.withheld.yaml +12 -0
  198. data/data/matrix-spec/event-schemas/examples/m.room_key.yaml +10 -0
  199. data/data/matrix-spec/event-schemas/examples/m.room_key_request$cancel_request.yaml +8 -0
  200. data/data/matrix-spec/event-schemas/examples/m.room_key_request$request.yaml +14 -0
  201. data/data/matrix-spec/event-schemas/examples/m.secret.request.yaml +9 -0
  202. data/data/matrix-spec/event-schemas/examples/m.secret.send.yaml +7 -0
  203. data/data/matrix-spec/event-schemas/examples/m.space.child.yaml +10 -0
  204. data/data/matrix-spec/event-schemas/examples/m.space.parent.yaml +9 -0
  205. data/data/matrix-spec/event-schemas/examples/m.sticker.yaml +22 -0
  206. data/data/matrix-spec/event-schemas/examples/m.tag.yaml +9 -0
  207. data/data/matrix-spec/event-schemas/examples/m.typing.yaml +7 -0
  208. data/data/matrix-spec/event-schemas/moderation_policy_rule.yaml +32 -0
  209. data/data/matrix-spec/event-schemas/schema/components/m_text_content_block.yaml +28 -0
  210. data/data/matrix-spec/event-schemas/schema/components/sdp_stream_metadata.yaml +43 -0
  211. data/data/matrix-spec/event-schemas/schema/components/signed_third_party_invite.yaml +48 -0
  212. data/data/matrix-spec/event-schemas/schema/core-event-schema/call_event.yaml +27 -0
  213. data/data/matrix-spec/event-schemas/schema/core-event-schema/event.yaml +16 -0
  214. data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/avatar_info.yaml +30 -0
  215. data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/image_info.yaml +52 -0
  216. data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/thumbnail_info.yaml +22 -0
  217. data/data/matrix-spec/event-schemas/schema/core-event-schema/room_event.yaml +17 -0
  218. data/data/matrix-spec/event-schemas/schema/core-event-schema/state_event.yaml +8 -0
  219. data/data/matrix-spec/event-schemas/schema/core-event-schema/stripped_state.yaml +48 -0
  220. data/data/matrix-spec/event-schemas/schema/core-event-schema/sync_room_event.yaml +49 -0
  221. data/data/matrix-spec/event-schemas/schema/core-event-schema/sync_state_event.yaml +36 -0
  222. data/data/matrix-spec/event-schemas/schema/core-event-schema/unsigned_prop.yaml +23 -0
  223. data/data/matrix-spec/event-schemas/schema/m.accepted_terms.yaml +25 -0
  224. data/data/matrix-spec/event-schemas/schema/m.call.answer.yaml +44 -0
  225. data/data/matrix-spec/event-schemas/schema/m.call.candidates.yaml +52 -0
  226. data/data/matrix-spec/event-schemas/schema/m.call.hangup.yaml +57 -0
  227. data/data/matrix-spec/event-schemas/schema/m.call.invite.yaml +53 -0
  228. data/data/matrix-spec/event-schemas/schema/m.call.negotiate.yaml +78 -0
  229. data/data/matrix-spec/event-schemas/schema/m.call.reject.yaml +29 -0
  230. data/data/matrix-spec/event-schemas/schema/m.call.sdp_stream_metadata_changed.yaml +24 -0
  231. data/data/matrix-spec/event-schemas/schema/m.call.select_answer.yaml +29 -0
  232. data/data/matrix-spec/event-schemas/schema/m.direct.yaml +29 -0
  233. data/data/matrix-spec/event-schemas/schema/m.dummy.yaml +25 -0
  234. data/data/matrix-spec/event-schemas/schema/m.forwarded_room_key.yaml +70 -0
  235. data/data/matrix-spec/event-schemas/schema/m.fully_read.yaml +26 -0
  236. data/data/matrix-spec/event-schemas/schema/m.identity_server.yaml +28 -0
  237. data/data/matrix-spec/event-schemas/schema/m.ignored_user_list.yaml +30 -0
  238. data/data/matrix-spec/event-schemas/schema/m.invite_permission_config.yaml +21 -0
  239. data/data/matrix-spec/event-schemas/schema/m.key.verification.accept.yaml +63 -0
  240. data/data/matrix-spec/event-schemas/schema/m.key.verification.cancel.yaml +72 -0
  241. data/data/matrix-spec/event-schemas/schema/m.key.verification.done.yaml +24 -0
  242. data/data/matrix-spec/event-schemas/schema/m.key.verification.key.yaml +31 -0
  243. data/data/matrix-spec/event-schemas/schema/m.key.verification.m.relates_to.yaml +23 -0
  244. data/data/matrix-spec/event-schemas/schema/m.key.verification.mac.yaml +43 -0
  245. data/data/matrix-spec/event-schemas/schema/m.key.verification.ready.yaml +41 -0
  246. data/data/matrix-spec/event-schemas/schema/m.key.verification.request.yaml +47 -0
  247. data/data/matrix-spec/event-schemas/schema/m.key.verification.start$m.reciprocate.v1.yaml +45 -0
  248. data/data/matrix-spec/event-schemas/schema/m.key.verification.start$m.sas.v1.yaml +76 -0
  249. data/data/matrix-spec/event-schemas/schema/m.key.verification.start.yaml +46 -0
  250. data/data/matrix-spec/event-schemas/schema/m.key_backup.yaml +24 -0
  251. data/data/matrix-spec/event-schemas/schema/m.marked_unread.yaml +26 -0
  252. data/data/matrix-spec/event-schemas/schema/m.policy.rule.room.yaml +17 -0
  253. data/data/matrix-spec/event-schemas/schema/m.policy.rule.server.yaml +17 -0
  254. data/data/matrix-spec/event-schemas/schema/m.policy.rule.user.yaml +17 -0
  255. data/data/matrix-spec/event-schemas/schema/m.presence.yaml +50 -0
  256. data/data/matrix-spec/event-schemas/schema/m.push_rules.yaml +23 -0
  257. data/data/matrix-spec/event-schemas/schema/m.reaction.yaml +45 -0
  258. data/data/matrix-spec/event-schemas/schema/m.receipt.yaml +65 -0
  259. data/data/matrix-spec/event-schemas/schema/m.recent_emoji.yaml +29 -0
  260. data/data/matrix-spec/event-schemas/schema/m.room.avatar.yaml +29 -0
  261. data/data/matrix-spec/event-schemas/schema/m.room.canonical_alias.yaml +40 -0
  262. data/data/matrix-spec/event-schemas/schema/m.room.create.yaml +86 -0
  263. data/data/matrix-spec/event-schemas/schema/m.room.encrypted.yaml +91 -0
  264. data/data/matrix-spec/event-schemas/schema/m.room.encryption.yaml +38 -0
  265. data/data/matrix-spec/event-schemas/schema/m.room.guest_access.yaml +28 -0
  266. data/data/matrix-spec/event-schemas/schema/m.room.history_visibility.yaml +30 -0
  267. data/data/matrix-spec/event-schemas/schema/m.room.join_rules.yaml +78 -0
  268. data/data/matrix-spec/event-schemas/schema/m.room.member.yaml +174 -0
  269. data/data/matrix-spec/event-schemas/schema/m.room.message$m.audio.yaml +73 -0
  270. data/data/matrix-spec/event-schemas/schema/m.room.message$m.emote.yaml +36 -0
  271. data/data/matrix-spec/event-schemas/schema/m.room.message$m.file.yaml +85 -0
  272. data/data/matrix-spec/event-schemas/schema/m.room.message$m.image.yaml +63 -0
  273. data/data/matrix-spec/event-schemas/schema/m.room.message$m.key.verification.request.yaml +70 -0
  274. data/data/matrix-spec/event-schemas/schema/m.room.message$m.location.yaml +50 -0
  275. data/data/matrix-spec/event-schemas/schema/m.room.message$m.notice.yaml +36 -0
  276. data/data/matrix-spec/event-schemas/schema/m.room.message$m.server_notice.yaml +41 -0
  277. data/data/matrix-spec/event-schemas/schema/m.room.message$m.text.yaml +36 -0
  278. data/data/matrix-spec/event-schemas/schema/m.room.message$m.video.yaml +95 -0
  279. data/data/matrix-spec/event-schemas/schema/m.room.message.yaml +25 -0
  280. data/data/matrix-spec/event-schemas/schema/m.room.name.yaml +35 -0
  281. data/data/matrix-spec/event-schemas/schema/m.room.pinned_events.yaml +27 -0
  282. data/data/matrix-spec/event-schemas/schema/m.room.policy.yaml +41 -0
  283. data/data/matrix-spec/event-schemas/schema/m.room.power_levels.yaml +139 -0
  284. data/data/matrix-spec/event-schemas/schema/m.room.redaction.yaml +29 -0
  285. data/data/matrix-spec/event-schemas/schema/m.room.server_acl.yaml +88 -0
  286. data/data/matrix-spec/event-schemas/schema/m.room.third_party_invite.yaml +79 -0
  287. data/data/matrix-spec/event-schemas/schema/m.room.tombstone.yaml +29 -0
  288. data/data/matrix-spec/event-schemas/schema/m.room.topic.yaml +53 -0
  289. data/data/matrix-spec/event-schemas/schema/m.room_key.withheld.yaml +88 -0
  290. data/data/matrix-spec/event-schemas/schema/m.room_key.yaml +38 -0
  291. data/data/matrix-spec/event-schemas/schema/m.room_key_request.yaml +73 -0
  292. data/data/matrix-spec/event-schemas/schema/m.secret.request.yaml +42 -0
  293. data/data/matrix-spec/event-schemas/schema/m.secret.send.yaml +35 -0
  294. data/data/matrix-spec/event-schemas/schema/m.space.child.yaml +50 -0
  295. data/data/matrix-spec/event-schemas/schema/m.space.parent.yaml +36 -0
  296. data/data/matrix-spec/event-schemas/schema/m.sticker.yaml +36 -0
  297. data/data/matrix-spec/event-schemas/schema/m.tag.yaml +28 -0
  298. data/data/matrix-spec/event-schemas/schema/m.typing.yaml +29 -0
  299. data/lib/async/discord/api/path_tree.rb +130 -0
  300. data/lib/async/discord/api.rb +156 -0
  301. data/lib/async/discord/client.rb +286 -0
  302. data/lib/async/discord/error.rb +88 -0
  303. data/lib/async/discord/gateway.rb +362 -0
  304. data/lib/async/discord.rb +16 -0
  305. data/lib/async/matrix/api/chain.rb +584 -0
  306. data/lib/async/matrix/api/concat.rb +105 -0
  307. data/lib/async/matrix/api/path_tree.rb +208 -0
  308. data/lib/async/matrix/api.rb +204 -0
  309. data/lib/async/matrix/application_service/bot.rb +235 -0
  310. data/lib/async/matrix/application_service/config/schema/analytics.json +21 -0
  311. data/lib/async/matrix/application_service/config/schema/appservice.json +82 -0
  312. data/lib/async/matrix/application_service/config/schema/backfill.json +91 -0
  313. data/lib/async/matrix/application_service/config/schema/bridge.json +209 -0
  314. data/lib/async/matrix/application_service/config/schema/config.json +61 -0
  315. data/lib/async/matrix/application_service/config/schema/database.json +38 -0
  316. data/lib/async/matrix/application_service/config/schema/direct_media.json +35 -0
  317. data/lib/async/matrix/application_service/config/schema/double_puppet.json +24 -0
  318. data/lib/async/matrix/application_service/config/schema/encryption.json +164 -0
  319. data/lib/async/matrix/application_service/config/schema/homeserver.json +58 -0
  320. data/lib/async/matrix/application_service/config/schema/logging.json +50 -0
  321. data/lib/async/matrix/application_service/config/schema/management_room_texts.json +25 -0
  322. data/lib/async/matrix/application_service/config/schema/matrix.json +45 -0
  323. data/lib/async/matrix/application_service/config/schema/permissions.json +54 -0
  324. data/lib/async/matrix/application_service/config/schema/provisioning.json +23 -0
  325. data/lib/async/matrix/application_service/config/schema/public_media.json +39 -0
  326. data/lib/async/matrix/application_service/config/schema/relay.json +43 -0
  327. data/lib/async/matrix/application_service/config/vivify.rb +113 -0
  328. data/lib/async/matrix/application_service/config.rb +214 -123
  329. data/lib/async/matrix/application_service/dispatcher.rb +115 -113
  330. data/lib/async/matrix/application_service/error_response.rb +26 -26
  331. data/lib/async/matrix/application_service/event.rb +206 -1
  332. data/lib/async/matrix/application_service/server.rb +286 -215
  333. data/lib/async/matrix/application_service/transaction.rb +52 -52
  334. data/lib/async/matrix/application_service/transaction_store.rb +62 -62
  335. data/lib/async/matrix/bridge/discord/db/connection.rb +143 -0
  336. data/lib/async/matrix/bridge/discord/db/file.rb +120 -0
  337. data/lib/async/matrix/bridge/discord/db/guild.rb +122 -0
  338. data/lib/async/matrix/bridge/discord/db/message.rb +162 -0
  339. data/lib/async/matrix/bridge/discord/db/migrations/001_create_users.rb +14 -0
  340. data/lib/async/matrix/bridge/discord/db/migrations/002_create_guilds.rb +14 -0
  341. data/lib/async/matrix/bridge/discord/db/migrations/003_create_portals.rb +23 -0
  342. data/lib/async/matrix/bridge/discord/db/migrations/004_create_puppets.rb +19 -0
  343. data/lib/async/matrix/bridge/discord/db/migrations/005_create_messages.rb +20 -0
  344. data/lib/async/matrix/bridge/discord/db/migrations/006_create_reactions.rb +19 -0
  345. data/lib/async/matrix/bridge/discord/db/migrations/007_create_files.rb +18 -0
  346. data/lib/async/matrix/bridge/discord/db/portal.rb +152 -0
  347. data/lib/async/matrix/bridge/discord/db/puppet.rb +130 -0
  348. data/lib/async/matrix/bridge/discord/db/reaction.rb +167 -0
  349. data/lib/async/matrix/bridge/discord/db/user.rb +114 -0
  350. data/lib/async/matrix/bridge/discord/db.rb +140 -0
  351. data/lib/async/matrix/client.rb +919 -179
  352. data/lib/async/matrix/connection.rb +8 -8
  353. data/lib/async/matrix/double_puppet_client.rb +84 -0
  354. data/lib/async/matrix/endpoint.rb +45 -45
  355. data/lib/async/matrix/error.rb +49 -43
  356. data/lib/async/matrix/media_client.rb +173 -0
  357. data/lib/async/matrix/notifier.rb +92 -92
  358. data/lib/async/matrix/schema/registry.rb +355 -0
  359. data/lib/async/matrix/schema/validation_error.rb +226 -0
  360. data/lib/async/matrix/schema.rb +174 -0
  361. data/lib/async/matrix/server.rb +8 -7
  362. data/lib/async/matrix/stream.rb +7 -7
  363. data/lib/async/matrix/version.rb +1 -1
  364. data/lib/async/matrix.rb +4 -2
  365. 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