async-matrix 2.0.1-arm64-darwin

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 (372) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +200 -0
  3. data/README.md +133 -0
  4. data/data/discord-api-spec/openapi.json +40404 -0
  5. data/data/matrix-spec/api/client-server/account-data.yaml +389 -0
  6. data/data/matrix-spec/api/client-server/account_deactivation.yaml +149 -0
  7. data/data/matrix-spec/api/client-server/admin.yaml +512 -0
  8. data/data/matrix-spec/api/client-server/administrative_contact.yaml +620 -0
  9. data/data/matrix-spec/api/client-server/appservice_ping.yaml +183 -0
  10. data/data/matrix-spec/api/client-server/appservice_room_directory.yaml +104 -0
  11. data/data/matrix-spec/api/client-server/authed-content-repo.yaml +590 -0
  12. data/data/matrix-spec/api/client-server/banning.yaml +177 -0
  13. data/data/matrix-spec/api/client-server/capabilities.yaml +235 -0
  14. data/data/matrix-spec/api/client-server/content-repo.yaml +887 -0
  15. data/data/matrix-spec/api/client-server/create_room.yaml +306 -0
  16. data/data/matrix-spec/api/client-server/cross_signing.yaml +300 -0
  17. data/data/matrix-spec/api/client-server/definitions/auth_data.yaml +34 -0
  18. data/data/matrix-spec/api/client-server/definitions/auth_response.yaml +62 -0
  19. data/data/matrix-spec/api/client-server/definitions/client_device.yaml +44 -0
  20. data/data/matrix-spec/api/client-server/definitions/client_event.yaml +49 -0
  21. data/data/matrix-spec/api/client-server/definitions/client_event_without_room_id.yaml +147 -0
  22. data/data/matrix-spec/api/client-server/definitions/cross_signing_key.yaml +57 -0
  23. data/data/matrix-spec/api/client-server/definitions/device_keys.yaml +70 -0
  24. data/data/matrix-spec/api/client-server/definitions/errors/error.yaml +26 -0
  25. data/data/matrix-spec/api/client-server/definitions/errors/rate_limited.yaml +34 -0
  26. data/data/matrix-spec/api/client-server/definitions/event_batch.yaml +22 -0
  27. data/data/matrix-spec/api/client-server/definitions/event_filter.yaml +55 -0
  28. data/data/matrix-spec/api/client-server/definitions/invite_3pid.yaml +45 -0
  29. data/data/matrix-spec/api/client-server/definitions/key_backup_auth_data.yaml +36 -0
  30. data/data/matrix-spec/api/client-server/definitions/key_backup_data.yaml +50 -0
  31. data/data/matrix-spec/api/client-server/definitions/key_backup_session_data.yaml +57 -0
  32. data/data/matrix-spec/api/client-server/definitions/m.login.terms_params.yaml +83 -0
  33. data/data/matrix-spec/api/client-server/definitions/m.mentions.yaml +33 -0
  34. data/data/matrix-spec/api/client-server/definitions/m.oauth_params.yaml +30 -0
  35. data/data/matrix-spec/api/client-server/definitions/m.relates_to.yaml +45 -0
  36. data/data/matrix-spec/api/client-server/definitions/megolm_export_session_data.yaml +39 -0
  37. data/data/matrix-spec/api/client-server/definitions/olm_payload.yaml +88 -0
  38. data/data/matrix-spec/api/client-server/definitions/one_time_keys.yaml +27 -0
  39. data/data/matrix-spec/api/client-server/definitions/openid_token.yaml +37 -0
  40. data/data/matrix-spec/api/client-server/definitions/protocol.yaml +44 -0
  41. data/data/matrix-spec/api/client-server/definitions/public_rooms_chunk.yaml +74 -0
  42. data/data/matrix-spec/api/client-server/definitions/public_rooms_response.yaml +59 -0
  43. data/data/matrix-spec/api/client-server/definitions/push_condition.yaml +53 -0
  44. data/data/matrix-spec/api/client-server/definitions/push_rule.yaml +53 -0
  45. data/data/matrix-spec/api/client-server/definitions/push_ruleset.yaml +206 -0
  46. data/data/matrix-spec/api/client-server/definitions/recent_emoji.yaml +29 -0
  47. data/data/matrix-spec/api/client-server/definitions/request_email_validation.yaml +36 -0
  48. data/data/matrix-spec/api/client-server/definitions/request_msisdn_validation.yaml +36 -0
  49. data/data/matrix-spec/api/client-server/definitions/request_token_response.yaml +46 -0
  50. data/data/matrix-spec/api/client-server/definitions/room_event_filter.yaml +60 -0
  51. data/data/matrix-spec/api/client-server/definitions/room_key_backup.yaml +37 -0
  52. data/data/matrix-spec/api/client-server/definitions/room_summary.yaml +44 -0
  53. data/data/matrix-spec/api/client-server/definitions/security.yaml +47 -0
  54. data/data/matrix-spec/api/client-server/definitions/sso_login_flow.yaml +98 -0
  55. data/data/matrix-spec/api/client-server/definitions/state_event_batch.yaml +21 -0
  56. data/data/matrix-spec/api/client-server/definitions/sync_filter.yaml +86 -0
  57. data/data/matrix-spec/api/client-server/definitions/tag.yaml +24 -0
  58. data/data/matrix-spec/api/client-server/definitions/third_party_signed.yaml +45 -0
  59. data/data/matrix-spec/api/client-server/definitions/timeline_batch.yaml +36 -0
  60. data/data/matrix-spec/api/client-server/definitions/user_identifier.yaml +27 -0
  61. data/data/matrix-spec/api/client-server/definitions/wellknown/full.yaml +38 -0
  62. data/data/matrix-spec/api/client-server/definitions/wellknown/homeserver.yaml +25 -0
  63. data/data/matrix-spec/api/client-server/definitions/wellknown/identity_server.yaml +25 -0
  64. data/data/matrix-spec/api/client-server/device_management.yaml +314 -0
  65. data/data/matrix-spec/api/client-server/directory.yaml +318 -0
  66. data/data/matrix-spec/api/client-server/event_context.yaml +161 -0
  67. data/data/matrix-spec/api/client-server/filter.yaml +224 -0
  68. data/data/matrix-spec/api/client-server/inviting.yaml +149 -0
  69. data/data/matrix-spec/api/client-server/joining.yaml +238 -0
  70. data/data/matrix-spec/api/client-server/key_backup.yaml +993 -0
  71. data/data/matrix-spec/api/client-server/keys.yaml +482 -0
  72. data/data/matrix-spec/api/client-server/kicking.yaml +110 -0
  73. data/data/matrix-spec/api/client-server/knocking.yaml +152 -0
  74. data/data/matrix-spec/api/client-server/leaving.yaml +163 -0
  75. data/data/matrix-spec/api/client-server/list_joined_rooms.yaml +68 -0
  76. data/data/matrix-spec/api/client-server/list_public_rooms.yaml +280 -0
  77. data/data/matrix-spec/api/client-server/login.yaml +321 -0
  78. data/data/matrix-spec/api/client-server/login_token.yaml +138 -0
  79. data/data/matrix-spec/api/client-server/logout.yaml +86 -0
  80. data/data/matrix-spec/api/client-server/message_pagination.yaml +194 -0
  81. data/data/matrix-spec/api/client-server/notifications.yaml +152 -0
  82. data/data/matrix-spec/api/client-server/oauth_server_metadata.yaml +238 -0
  83. data/data/matrix-spec/api/client-server/old_sync.yaml +379 -0
  84. data/data/matrix-spec/api/client-server/openid.yaml +98 -0
  85. data/data/matrix-spec/api/client-server/password_management.yaml +246 -0
  86. data/data/matrix-spec/api/client-server/peeking_events.yaml +122 -0
  87. data/data/matrix-spec/api/client-server/policy_server.yaml +82 -0
  88. data/data/matrix-spec/api/client-server/presence.yaml +169 -0
  89. data/data/matrix-spec/api/client-server/profile.yaml +366 -0
  90. data/data/matrix-spec/api/client-server/pusher.yaml +303 -0
  91. data/data/matrix-spec/api/client-server/pushrules.yaml +633 -0
  92. data/data/matrix-spec/api/client-server/read_markers.yaml +103 -0
  93. data/data/matrix-spec/api/client-server/receipts.yaml +139 -0
  94. data/data/matrix-spec/api/client-server/redaction.yaml +116 -0
  95. data/data/matrix-spec/api/client-server/refresh.yaml +119 -0
  96. data/data/matrix-spec/api/client-server/registration.yaml +488 -0
  97. data/data/matrix-spec/api/client-server/registration_tokens.yaml +93 -0
  98. data/data/matrix-spec/api/client-server/relations.yaml +382 -0
  99. data/data/matrix-spec/api/client-server/report_content.yaml +283 -0
  100. data/data/matrix-spec/api/client-server/room_event_by_timestamp.yaml +147 -0
  101. data/data/matrix-spec/api/client-server/room_initial_sync.yaml +188 -0
  102. data/data/matrix-spec/api/client-server/room_send.yaml +130 -0
  103. data/data/matrix-spec/api/client-server/room_state.yaml +159 -0
  104. data/data/matrix-spec/api/client-server/room_summary.yaml +138 -0
  105. data/data/matrix-spec/api/client-server/room_upgrades.yaml +130 -0
  106. data/data/matrix-spec/api/client-server/rooms.yaml +380 -0
  107. data/data/matrix-spec/api/client-server/search.yaml +385 -0
  108. data/data/matrix-spec/api/client-server/space_hierarchy.yaml +237 -0
  109. data/data/matrix-spec/api/client-server/sso_login_redirect.yaml +135 -0
  110. data/data/matrix-spec/api/client-server/support.yaml +142 -0
  111. data/data/matrix-spec/api/client-server/sync.yaml +692 -0
  112. data/data/matrix-spec/api/client-server/tags.yaml +183 -0
  113. data/data/matrix-spec/api/client-server/third_party_lookup.yaml +324 -0
  114. data/data/matrix-spec/api/client-server/third_party_membership.yaml +139 -0
  115. data/data/matrix-spec/api/client-server/threads_list.yaml +167 -0
  116. data/data/matrix-spec/api/client-server/to_device.yaml +104 -0
  117. data/data/matrix-spec/api/client-server/typing.yaml +103 -0
  118. data/data/matrix-spec/api/client-server/users.yaml +136 -0
  119. data/data/matrix-spec/api/client-server/versions.yaml +108 -0
  120. data/data/matrix-spec/api/client-server/voip.yaml +93 -0
  121. data/data/matrix-spec/api/client-server/wellknown.yaml +60 -0
  122. data/data/matrix-spec/api/client-server/whoami.yaml +121 -0
  123. data/data/matrix-spec/event-schemas/examples/core/event.json +6 -0
  124. data/data/matrix-spec/event-schemas/examples/core/room_edu.json +3 -0
  125. data/data/matrix-spec/event-schemas/examples/core/room_event.json +11 -0
  126. data/data/matrix-spec/event-schemas/examples/core/state_event.json +4 -0
  127. data/data/matrix-spec/event-schemas/examples/invite_room_state.json +18 -0
  128. data/data/matrix-spec/event-schemas/examples/knock_room_state.json +18 -0
  129. data/data/matrix-spec/event-schemas/examples/m.accepted_terms.yaml +10 -0
  130. data/data/matrix-spec/event-schemas/examples/m.call.answer.yaml +21 -0
  131. data/data/matrix-spec/event-schemas/examples/m.call.candidates.yaml +16 -0
  132. data/data/matrix-spec/event-schemas/examples/m.call.hangup.yaml +10 -0
  133. data/data/matrix-spec/event-schemas/examples/m.call.invite.yaml +22 -0
  134. data/data/matrix-spec/event-schemas/examples/m.call.negotiate.yaml +22 -0
  135. data/data/matrix-spec/event-schemas/examples/m.call.reject.yaml +9 -0
  136. data/data/matrix-spec/event-schemas/examples/m.call.sdp_stream_metadata_changed.yaml +16 -0
  137. data/data/matrix-spec/event-schemas/examples/m.call.select_answer.yaml +10 -0
  138. data/data/matrix-spec/event-schemas/examples/m.direct.yaml +10 -0
  139. data/data/matrix-spec/event-schemas/examples/m.dummy.yaml +4 -0
  140. data/data/matrix-spec/event-schemas/examples/m.forwarded_room_key.yaml +14 -0
  141. data/data/matrix-spec/event-schemas/examples/m.fully_read.yaml +7 -0
  142. data/data/matrix-spec/event-schemas/examples/m.identity_server.yaml +7 -0
  143. data/data/matrix-spec/event-schemas/examples/m.ignored_user_list.yaml +9 -0
  144. data/data/matrix-spec/event-schemas/examples/m.invite_permission_config.yaml +7 -0
  145. data/data/matrix-spec/event-schemas/examples/m.key.verification.accept.yaml +12 -0
  146. data/data/matrix-spec/event-schemas/examples/m.key.verification.cancel.yaml +8 -0
  147. data/data/matrix-spec/event-schemas/examples/m.key.verification.done.yaml +6 -0
  148. data/data/matrix-spec/event-schemas/examples/m.key.verification.key.yaml +7 -0
  149. data/data/matrix-spec/event-schemas/examples/m.key.verification.mac.yaml +10 -0
  150. data/data/matrix-spec/event-schemas/examples/m.key.verification.ready.yaml +10 -0
  151. data/data/matrix-spec/event-schemas/examples/m.key.verification.request.yaml +11 -0
  152. data/data/matrix-spec/event-schemas/examples/m.key.verification.start$m.sas.v1.yaml +12 -0
  153. data/data/matrix-spec/event-schemas/examples/m.key.verification.start.yaml +8 -0
  154. data/data/matrix-spec/event-schemas/examples/m.key_backup.yaml +7 -0
  155. data/data/matrix-spec/event-schemas/examples/m.marked_unread.yaml +7 -0
  156. data/data/matrix-spec/event-schemas/examples/m.policy.rule.room.yaml +10 -0
  157. data/data/matrix-spec/event-schemas/examples/m.policy.rule.server.yaml +10 -0
  158. data/data/matrix-spec/event-schemas/examples/m.policy.rule.user.yaml +10 -0
  159. data/data/matrix-spec/event-schemas/examples/m.presence.yaml +12 -0
  160. data/data/matrix-spec/event-schemas/examples/m.push_rules.yaml +177 -0
  161. data/data/matrix-spec/event-schemas/examples/m.reaction.yaml +11 -0
  162. data/data/matrix-spec/event-schemas/examples/m.receipt.yaml +18 -0
  163. data/data/matrix-spec/event-schemas/examples/m.recent_emoji.yaml +16 -0
  164. data/data/matrix-spec/event-schemas/examples/m.room.avatar.yaml +14 -0
  165. data/data/matrix-spec/event-schemas/examples/m.room.canonical_alias.yaml +12 -0
  166. data/data/matrix-spec/event-schemas/examples/m.room.create.yaml +13 -0
  167. data/data/matrix-spec/event-schemas/examples/m.room.encrypted$megolm.yaml +11 -0
  168. data/data/matrix-spec/event-schemas/examples/m.room.encrypted$olm.yaml +14 -0
  169. data/data/matrix-spec/event-schemas/examples/m.room.encryption.yaml +10 -0
  170. data/data/matrix-spec/event-schemas/examples/m.room.guest_access.yaml +8 -0
  171. data/data/matrix-spec/event-schemas/examples/m.room.history_visibility.yaml +8 -0
  172. data/data/matrix-spec/event-schemas/examples/m.room.join_rules$restricted.yaml +18 -0
  173. data/data/matrix-spec/event-schemas/examples/m.room.join_rules.yaml +8 -0
  174. data/data/matrix-spec/event-schemas/examples/m.room.member$invite_room_state.yaml +15 -0
  175. data/data/matrix-spec/event-schemas/examples/m.room.member$join_authorised_via_users_server.yaml +12 -0
  176. data/data/matrix-spec/event-schemas/examples/m.room.member$knock_room_state.yaml +15 -0
  177. data/data/matrix-spec/event-schemas/examples/m.room.member$third_party_invite.yaml +20 -0
  178. data/data/matrix-spec/event-schemas/examples/m.room.member.yaml +12 -0
  179. data/data/matrix-spec/event-schemas/examples/m.room.message$m.audio.yaml +14 -0
  180. data/data/matrix-spec/event-schemas/examples/m.room.message$m.emote.yaml +10 -0
  181. data/data/matrix-spec/event-schemas/examples/m.room.message$m.file.yaml +14 -0
  182. data/data/matrix-spec/event-schemas/examples/m.room.message$m.image.yaml +16 -0
  183. data/data/matrix-spec/event-schemas/examples/m.room.message$m.key.verification.request.yaml +19 -0
  184. data/data/matrix-spec/event-schemas/examples/m.room.message$m.location.yaml +18 -0
  185. data/data/matrix-spec/event-schemas/examples/m.room.message$m.notice.yaml +10 -0
  186. data/data/matrix-spec/event-schemas/examples/m.room.message$m.server_notice.yaml +11 -0
  187. data/data/matrix-spec/event-schemas/examples/m.room.message$m.text.yaml +10 -0
  188. data/data/matrix-spec/event-schemas/examples/m.room.message$m.video.yaml +23 -0
  189. data/data/matrix-spec/event-schemas/examples/m.room.name.yaml +8 -0
  190. data/data/matrix-spec/event-schemas/examples/m.room.pinned_events.yaml +8 -0
  191. data/data/matrix-spec/event-schemas/examples/m.room.policy.yaml +11 -0
  192. data/data/matrix-spec/event-schemas/examples/m.room.power_levels.yaml +24 -0
  193. data/data/matrix-spec/event-schemas/examples/m.room.redaction.yaml +8 -0
  194. data/data/matrix-spec/event-schemas/examples/m.room.server_acl.yaml +10 -0
  195. data/data/matrix-spec/event-schemas/examples/m.room.third_party_invite.yaml +14 -0
  196. data/data/matrix-spec/event-schemas/examples/m.room.tombstone.yaml +9 -0
  197. data/data/matrix-spec/event-schemas/examples/m.room.topic.yaml +16 -0
  198. data/data/matrix-spec/event-schemas/examples/m.room_key.withheld.yaml +12 -0
  199. data/data/matrix-spec/event-schemas/examples/m.room_key.yaml +10 -0
  200. data/data/matrix-spec/event-schemas/examples/m.room_key_request$cancel_request.yaml +8 -0
  201. data/data/matrix-spec/event-schemas/examples/m.room_key_request$request.yaml +14 -0
  202. data/data/matrix-spec/event-schemas/examples/m.secret.request.yaml +9 -0
  203. data/data/matrix-spec/event-schemas/examples/m.secret.send.yaml +7 -0
  204. data/data/matrix-spec/event-schemas/examples/m.space.child.yaml +10 -0
  205. data/data/matrix-spec/event-schemas/examples/m.space.parent.yaml +9 -0
  206. data/data/matrix-spec/event-schemas/examples/m.sticker.yaml +22 -0
  207. data/data/matrix-spec/event-schemas/examples/m.tag.yaml +9 -0
  208. data/data/matrix-spec/event-schemas/examples/m.typing.yaml +7 -0
  209. data/data/matrix-spec/event-schemas/moderation_policy_rule.yaml +32 -0
  210. data/data/matrix-spec/event-schemas/schema/components/m_text_content_block.yaml +28 -0
  211. data/data/matrix-spec/event-schemas/schema/components/sdp_stream_metadata.yaml +43 -0
  212. data/data/matrix-spec/event-schemas/schema/components/signed_third_party_invite.yaml +48 -0
  213. data/data/matrix-spec/event-schemas/schema/core-event-schema/call_event.yaml +27 -0
  214. data/data/matrix-spec/event-schemas/schema/core-event-schema/event.yaml +16 -0
  215. data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/avatar_info.yaml +30 -0
  216. data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/image_info.yaml +52 -0
  217. data/data/matrix-spec/event-schemas/schema/core-event-schema/msgtype_infos/thumbnail_info.yaml +22 -0
  218. data/data/matrix-spec/event-schemas/schema/core-event-schema/room_event.yaml +17 -0
  219. data/data/matrix-spec/event-schemas/schema/core-event-schema/state_event.yaml +8 -0
  220. data/data/matrix-spec/event-schemas/schema/core-event-schema/stripped_state.yaml +48 -0
  221. data/data/matrix-spec/event-schemas/schema/core-event-schema/sync_room_event.yaml +49 -0
  222. data/data/matrix-spec/event-schemas/schema/core-event-schema/sync_state_event.yaml +36 -0
  223. data/data/matrix-spec/event-schemas/schema/core-event-schema/unsigned_prop.yaml +23 -0
  224. data/data/matrix-spec/event-schemas/schema/m.accepted_terms.yaml +25 -0
  225. data/data/matrix-spec/event-schemas/schema/m.call.answer.yaml +44 -0
  226. data/data/matrix-spec/event-schemas/schema/m.call.candidates.yaml +52 -0
  227. data/data/matrix-spec/event-schemas/schema/m.call.hangup.yaml +57 -0
  228. data/data/matrix-spec/event-schemas/schema/m.call.invite.yaml +53 -0
  229. data/data/matrix-spec/event-schemas/schema/m.call.negotiate.yaml +78 -0
  230. data/data/matrix-spec/event-schemas/schema/m.call.reject.yaml +29 -0
  231. data/data/matrix-spec/event-schemas/schema/m.call.sdp_stream_metadata_changed.yaml +24 -0
  232. data/data/matrix-spec/event-schemas/schema/m.call.select_answer.yaml +29 -0
  233. data/data/matrix-spec/event-schemas/schema/m.direct.yaml +29 -0
  234. data/data/matrix-spec/event-schemas/schema/m.dummy.yaml +25 -0
  235. data/data/matrix-spec/event-schemas/schema/m.forwarded_room_key.yaml +70 -0
  236. data/data/matrix-spec/event-schemas/schema/m.fully_read.yaml +26 -0
  237. data/data/matrix-spec/event-schemas/schema/m.identity_server.yaml +28 -0
  238. data/data/matrix-spec/event-schemas/schema/m.ignored_user_list.yaml +30 -0
  239. data/data/matrix-spec/event-schemas/schema/m.invite_permission_config.yaml +21 -0
  240. data/data/matrix-spec/event-schemas/schema/m.key.verification.accept.yaml +63 -0
  241. data/data/matrix-spec/event-schemas/schema/m.key.verification.cancel.yaml +72 -0
  242. data/data/matrix-spec/event-schemas/schema/m.key.verification.done.yaml +24 -0
  243. data/data/matrix-spec/event-schemas/schema/m.key.verification.key.yaml +31 -0
  244. data/data/matrix-spec/event-schemas/schema/m.key.verification.m.relates_to.yaml +23 -0
  245. data/data/matrix-spec/event-schemas/schema/m.key.verification.mac.yaml +43 -0
  246. data/data/matrix-spec/event-schemas/schema/m.key.verification.ready.yaml +41 -0
  247. data/data/matrix-spec/event-schemas/schema/m.key.verification.request.yaml +47 -0
  248. data/data/matrix-spec/event-schemas/schema/m.key.verification.start$m.reciprocate.v1.yaml +45 -0
  249. data/data/matrix-spec/event-schemas/schema/m.key.verification.start$m.sas.v1.yaml +76 -0
  250. data/data/matrix-spec/event-schemas/schema/m.key.verification.start.yaml +46 -0
  251. data/data/matrix-spec/event-schemas/schema/m.key_backup.yaml +24 -0
  252. data/data/matrix-spec/event-schemas/schema/m.marked_unread.yaml +26 -0
  253. data/data/matrix-spec/event-schemas/schema/m.policy.rule.room.yaml +17 -0
  254. data/data/matrix-spec/event-schemas/schema/m.policy.rule.server.yaml +17 -0
  255. data/data/matrix-spec/event-schemas/schema/m.policy.rule.user.yaml +17 -0
  256. data/data/matrix-spec/event-schemas/schema/m.presence.yaml +50 -0
  257. data/data/matrix-spec/event-schemas/schema/m.push_rules.yaml +23 -0
  258. data/data/matrix-spec/event-schemas/schema/m.reaction.yaml +45 -0
  259. data/data/matrix-spec/event-schemas/schema/m.receipt.yaml +65 -0
  260. data/data/matrix-spec/event-schemas/schema/m.recent_emoji.yaml +29 -0
  261. data/data/matrix-spec/event-schemas/schema/m.room.avatar.yaml +29 -0
  262. data/data/matrix-spec/event-schemas/schema/m.room.canonical_alias.yaml +40 -0
  263. data/data/matrix-spec/event-schemas/schema/m.room.create.yaml +86 -0
  264. data/data/matrix-spec/event-schemas/schema/m.room.encrypted.yaml +91 -0
  265. data/data/matrix-spec/event-schemas/schema/m.room.encryption.yaml +38 -0
  266. data/data/matrix-spec/event-schemas/schema/m.room.guest_access.yaml +28 -0
  267. data/data/matrix-spec/event-schemas/schema/m.room.history_visibility.yaml +30 -0
  268. data/data/matrix-spec/event-schemas/schema/m.room.join_rules.yaml +78 -0
  269. data/data/matrix-spec/event-schemas/schema/m.room.member.yaml +174 -0
  270. data/data/matrix-spec/event-schemas/schema/m.room.message$m.audio.yaml +73 -0
  271. data/data/matrix-spec/event-schemas/schema/m.room.message$m.emote.yaml +36 -0
  272. data/data/matrix-spec/event-schemas/schema/m.room.message$m.file.yaml +85 -0
  273. data/data/matrix-spec/event-schemas/schema/m.room.message$m.image.yaml +63 -0
  274. data/data/matrix-spec/event-schemas/schema/m.room.message$m.key.verification.request.yaml +70 -0
  275. data/data/matrix-spec/event-schemas/schema/m.room.message$m.location.yaml +50 -0
  276. data/data/matrix-spec/event-schemas/schema/m.room.message$m.notice.yaml +36 -0
  277. data/data/matrix-spec/event-schemas/schema/m.room.message$m.server_notice.yaml +41 -0
  278. data/data/matrix-spec/event-schemas/schema/m.room.message$m.text.yaml +36 -0
  279. data/data/matrix-spec/event-schemas/schema/m.room.message$m.video.yaml +95 -0
  280. data/data/matrix-spec/event-schemas/schema/m.room.message.yaml +25 -0
  281. data/data/matrix-spec/event-schemas/schema/m.room.name.yaml +35 -0
  282. data/data/matrix-spec/event-schemas/schema/m.room.pinned_events.yaml +27 -0
  283. data/data/matrix-spec/event-schemas/schema/m.room.policy.yaml +41 -0
  284. data/data/matrix-spec/event-schemas/schema/m.room.power_levels.yaml +139 -0
  285. data/data/matrix-spec/event-schemas/schema/m.room.redaction.yaml +29 -0
  286. data/data/matrix-spec/event-schemas/schema/m.room.server_acl.yaml +88 -0
  287. data/data/matrix-spec/event-schemas/schema/m.room.third_party_invite.yaml +79 -0
  288. data/data/matrix-spec/event-schemas/schema/m.room.tombstone.yaml +29 -0
  289. data/data/matrix-spec/event-schemas/schema/m.room.topic.yaml +53 -0
  290. data/data/matrix-spec/event-schemas/schema/m.room_key.withheld.yaml +88 -0
  291. data/data/matrix-spec/event-schemas/schema/m.room_key.yaml +38 -0
  292. data/data/matrix-spec/event-schemas/schema/m.room_key_request.yaml +73 -0
  293. data/data/matrix-spec/event-schemas/schema/m.secret.request.yaml +42 -0
  294. data/data/matrix-spec/event-schemas/schema/m.secret.send.yaml +35 -0
  295. data/data/matrix-spec/event-schemas/schema/m.space.child.yaml +50 -0
  296. data/data/matrix-spec/event-schemas/schema/m.space.parent.yaml +36 -0
  297. data/data/matrix-spec/event-schemas/schema/m.sticker.yaml +36 -0
  298. data/data/matrix-spec/event-schemas/schema/m.tag.yaml +28 -0
  299. data/data/matrix-spec/event-schemas/schema/m.typing.yaml +29 -0
  300. data/lib/async/discord/api/path_tree.rb +127 -0
  301. data/lib/async/discord/api.rb +151 -0
  302. data/lib/async/discord/client.rb +283 -0
  303. data/lib/async/discord/error.rb +84 -0
  304. data/lib/async/discord/gateway.rb +359 -0
  305. data/lib/async/discord.rb +15 -0
  306. data/lib/async/matrix/3.3/async_matrix_e2ee.bundle +0 -0
  307. data/lib/async/matrix/3.4/async_matrix_e2ee.bundle +0 -0
  308. data/lib/async/matrix/4.0/async_matrix_e2ee.bundle +0 -0
  309. data/lib/async/matrix/api/chain.rb +578 -0
  310. data/lib/async/matrix/api/concat.rb +101 -0
  311. data/lib/async/matrix/api/path_tree.rb +205 -0
  312. data/lib/async/matrix/api.rb +200 -0
  313. data/lib/async/matrix/application_service/bot.rb +232 -0
  314. data/lib/async/matrix/application_service/config/schema/analytics.json +21 -0
  315. data/lib/async/matrix/application_service/config/schema/appservice.json +82 -0
  316. data/lib/async/matrix/application_service/config/schema/backfill.json +91 -0
  317. data/lib/async/matrix/application_service/config/schema/bridge.json +209 -0
  318. data/lib/async/matrix/application_service/config/schema/config.json +61 -0
  319. data/lib/async/matrix/application_service/config/schema/database.json +38 -0
  320. data/lib/async/matrix/application_service/config/schema/direct_media.json +35 -0
  321. data/lib/async/matrix/application_service/config/schema/double_puppet.json +24 -0
  322. data/lib/async/matrix/application_service/config/schema/encryption.json +164 -0
  323. data/lib/async/matrix/application_service/config/schema/homeserver.json +58 -0
  324. data/lib/async/matrix/application_service/config/schema/logging.json +50 -0
  325. data/lib/async/matrix/application_service/config/schema/management_room_texts.json +25 -0
  326. data/lib/async/matrix/application_service/config/schema/matrix.json +45 -0
  327. data/lib/async/matrix/application_service/config/schema/permissions.json +54 -0
  328. data/lib/async/matrix/application_service/config/schema/provisioning.json +23 -0
  329. data/lib/async/matrix/application_service/config/schema/public_media.json +39 -0
  330. data/lib/async/matrix/application_service/config/schema/relay.json +43 -0
  331. data/lib/async/matrix/application_service/config/vivify.rb +109 -0
  332. data/lib/async/matrix/application_service/config.rb +225 -0
  333. data/lib/async/matrix/application_service/dispatcher.rb +185 -0
  334. data/lib/async/matrix/application_service/error_response.rb +37 -0
  335. data/lib/async/matrix/application_service/event.rb +285 -0
  336. data/lib/async/matrix/application_service/server.rb +430 -0
  337. data/lib/async/matrix/application_service/transaction.rb +66 -0
  338. data/lib/async/matrix/application_service/transaction_handler.rb +185 -0
  339. data/lib/async/matrix/application_service/transaction_store.rb +80 -0
  340. data/lib/async/matrix/bridge/discord/db/connection.rb +141 -0
  341. data/lib/async/matrix/bridge/discord/db/file.rb +118 -0
  342. data/lib/async/matrix/bridge/discord/db/guild.rb +120 -0
  343. data/lib/async/matrix/bridge/discord/db/message.rb +160 -0
  344. data/lib/async/matrix/bridge/discord/db/migrations/001_create_users.rb +14 -0
  345. data/lib/async/matrix/bridge/discord/db/migrations/002_create_guilds.rb +14 -0
  346. data/lib/async/matrix/bridge/discord/db/migrations/003_create_portals.rb +23 -0
  347. data/lib/async/matrix/bridge/discord/db/migrations/004_create_puppets.rb +19 -0
  348. data/lib/async/matrix/bridge/discord/db/migrations/005_create_messages.rb +20 -0
  349. data/lib/async/matrix/bridge/discord/db/migrations/006_create_reactions.rb +19 -0
  350. data/lib/async/matrix/bridge/discord/db/migrations/007_create_files.rb +18 -0
  351. data/lib/async/matrix/bridge/discord/db/portal.rb +150 -0
  352. data/lib/async/matrix/bridge/discord/db/puppet.rb +128 -0
  353. data/lib/async/matrix/bridge/discord/db/reaction.rb +165 -0
  354. data/lib/async/matrix/bridge/discord/db/schema.rb +18 -0
  355. data/lib/async/matrix/bridge/discord/db/user.rb +112 -0
  356. data/lib/async/matrix/bridge/discord/db.rb +138 -0
  357. data/lib/async/matrix/client.rb +934 -0
  358. data/lib/async/matrix/connection.rb +19 -0
  359. data/lib/async/matrix/double_puppet_client.rb +82 -0
  360. data/lib/async/matrix/e2ee.rb +92 -0
  361. data/lib/async/matrix/endpoint.rb +57 -0
  362. data/lib/async/matrix/error.rb +67 -0
  363. data/lib/async/matrix/media_client.rb +170 -0
  364. data/lib/async/matrix/notifier.rb +104 -0
  365. data/lib/async/matrix/schema/registry.rb +354 -0
  366. data/lib/async/matrix/schema/validation_error.rb +225 -0
  367. data/lib/async/matrix/schema.rb +170 -0
  368. data/lib/async/matrix/server.rb +18 -0
  369. data/lib/async/matrix/stream.rb +18 -0
  370. data/lib/async/matrix/version.rb +10 -0
  371. data/lib/async/matrix.rb +22 -0
  372. metadata +588 -0
@@ -0,0 +1,82 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "appservice.json",
4
+ "description": "Application service registration and network settings. Maps to mautrix bridgev2/bridgeconfig.AppserviceConfig.",
5
+ "type": "object",
6
+ "properties": {
7
+ "address": {
8
+ "type": "string",
9
+ "description": "The full public address of the appservice (e.g. http://bridge:29318)."
10
+ },
11
+ "public_address": {
12
+ "type": "string",
13
+ "description": "Public-facing address if different from address."
14
+ },
15
+ "hostname": {
16
+ "type": "string",
17
+ "default": "0.0.0.0",
18
+ "description": "Hostname to bind the appservice listener to."
19
+ },
20
+ "port": {
21
+ "type": "integer",
22
+ "minimum": 0,
23
+ "maximum": 65535,
24
+ "default": 29318,
25
+ "description": "Port to bind the appservice listener to."
26
+ },
27
+ "id": {
28
+ "type": "string",
29
+ "description": "Unique appservice ID, used in the registration file."
30
+ },
31
+ "bot": {
32
+ "$ref": "#/$defs/BotUserConfig"
33
+ },
34
+ "as_token": {
35
+ "type": "string",
36
+ "minLength": 1,
37
+ "description": "Appservice token used to authenticate requests to the homeserver."
38
+ },
39
+ "hs_token": {
40
+ "type": "string",
41
+ "minLength": 1,
42
+ "description": "Homeserver token used to authenticate requests from the homeserver."
43
+ },
44
+ "ephemeral_events": {
45
+ "type": "boolean",
46
+ "default": false,
47
+ "description": "Receive ephemeral events (typing, receipts) via appservice transactions."
48
+ },
49
+ "async_transactions": {
50
+ "type": "boolean",
51
+ "default": false,
52
+ "description": "Send transaction responses before processing (Hungry-specific)."
53
+ },
54
+ "username_template": {
55
+ "type": "string",
56
+ "description": "Go text/template for generating ghost user localparts. Receives the remote username as {{.}}."
57
+ }
58
+ },
59
+ "required": ["as_token", "hs_token"],
60
+ "additionalProperties": false,
61
+ "$defs": {
62
+ "BotUserConfig": {
63
+ "description": "Configuration for the appservice bot user. Maps to mautrix BotUserConfig.",
64
+ "type": "object",
65
+ "properties": {
66
+ "username": {
67
+ "type": "string",
68
+ "description": "Localpart of the bot user (e.g. 'bot' for @bot:example.com)."
69
+ },
70
+ "displayname": {
71
+ "type": "string",
72
+ "description": "Display name to set for the bot user."
73
+ },
74
+ "avatar": {
75
+ "type": "string",
76
+ "description": "Avatar mxc:// URI for the bot user. Set to 'remove' to remove the avatar."
77
+ }
78
+ },
79
+ "additionalProperties": false
80
+ }
81
+ }
82
+ }
@@ -0,0 +1,91 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "backfill.json",
4
+ "description": "Message backfill settings. Maps to mautrix bridgev2/bridgeconfig.BackfillConfig.",
5
+ "type": "object",
6
+ "properties": {
7
+ "enabled": {
8
+ "type": "boolean",
9
+ "default": false,
10
+ "description": "Enable message backfilling from the remote network."
11
+ },
12
+ "max_initial_messages": {
13
+ "type": "integer",
14
+ "minimum": 0,
15
+ "default": 50,
16
+ "description": "Maximum number of messages to backfill in a newly created portal."
17
+ },
18
+ "max_catchup_messages": {
19
+ "type": "integer",
20
+ "minimum": 0,
21
+ "default": 500,
22
+ "description": "Maximum number of messages to backfill when catching up on missed messages."
23
+ },
24
+ "unread_hours_threshold": {
25
+ "type": "integer",
26
+ "minimum": 0,
27
+ "default": 720,
28
+ "description": "Number of hours of unread messages before switching to catchup backfill."
29
+ },
30
+ "threads": {
31
+ "$ref": "#/$defs/BackfillThreadsConfig"
32
+ },
33
+ "queue": {
34
+ "$ref": "#/$defs/BackfillQueueConfig"
35
+ }
36
+ },
37
+ "additionalProperties": false,
38
+ "$defs": {
39
+ "BackfillThreadsConfig": {
40
+ "type": "object",
41
+ "properties": {
42
+ "max_initial_messages": {
43
+ "type": "integer",
44
+ "minimum": 0,
45
+ "default": 20,
46
+ "description": "Maximum number of messages to backfill in a thread."
47
+ }
48
+ },
49
+ "additionalProperties": false
50
+ },
51
+ "BackfillQueueConfig": {
52
+ "type": "object",
53
+ "properties": {
54
+ "enabled": {
55
+ "type": "boolean",
56
+ "default": false,
57
+ "description": "Enable the backfill queue for processing large backfills in batches."
58
+ },
59
+ "manual": {
60
+ "type": "boolean",
61
+ "default": false,
62
+ "description": "Require manual triggering of queued backfills."
63
+ },
64
+ "batch_size": {
65
+ "type": "integer",
66
+ "minimum": 1,
67
+ "default": 100,
68
+ "description": "Number of messages per backfill batch."
69
+ },
70
+ "batch_delay": {
71
+ "type": "integer",
72
+ "minimum": 0,
73
+ "default": 20,
74
+ "description": "Delay in seconds between backfill batches."
75
+ },
76
+ "max_batches": {
77
+ "type": "integer",
78
+ "minimum": 0,
79
+ "default": 0,
80
+ "description": "Maximum number of batches to process. 0 means unlimited."
81
+ },
82
+ "max_batches_override": {
83
+ "type": "object",
84
+ "additionalProperties": { "type": "integer" },
85
+ "description": "Per-portal overrides for max_batches, keyed by portal name."
86
+ }
87
+ },
88
+ "additionalProperties": false
89
+ }
90
+ }
91
+ }
@@ -0,0 +1,209 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "bridge.json",
4
+ "description": "Core bridge behavior settings. Maps to mautrix bridgev2/bridgeconfig.BridgeConfig.",
5
+ "type": "object",
6
+ "properties": {
7
+ "command_prefix": {
8
+ "type": "string",
9
+ "description": "Prefix for bridge commands in the management room."
10
+ },
11
+ "personal_filtering_spaces": {
12
+ "type": "boolean",
13
+ "default": false,
14
+ "description": "Enable personal filtering spaces for portal rooms."
15
+ },
16
+ "private_chat_portal_meta": {
17
+ "type": "boolean",
18
+ "default": false,
19
+ "description": "Set portal room metadata (name/avatar) in private chats."
20
+ },
21
+ "async_events": {
22
+ "type": "boolean",
23
+ "default": false,
24
+ "description": "Process Matrix events asynchronously."
25
+ },
26
+ "split_portals": {
27
+ "type": "boolean",
28
+ "default": false,
29
+ "description": "Create separate portal rooms per user login."
30
+ },
31
+ "resend_bridge_info": {
32
+ "type": "boolean",
33
+ "default": false,
34
+ "description": "Resend bridge info state events on startup."
35
+ },
36
+ "no_bridge_info_state_key": {
37
+ "type": "boolean",
38
+ "default": false,
39
+ "description": "Don't include the bridge info state key in portal rooms."
40
+ },
41
+ "bridge_status_notices": {
42
+ "type": "string",
43
+ "default": "",
44
+ "description": "Control bridge status notices behavior."
45
+ },
46
+ "unknown_error_auto_reconnect": {
47
+ "type": "string",
48
+ "default": "",
49
+ "description": "Duration to wait before auto-reconnecting after an unknown error (Go duration, e.g. '1m')."
50
+ },
51
+ "unknown_error_max_auto_reconnects": {
52
+ "type": "integer",
53
+ "minimum": 0,
54
+ "default": 0,
55
+ "description": "Maximum number of auto-reconnect attempts after unknown errors."
56
+ },
57
+ "bridge_matrix_leave": {
58
+ "type": "boolean",
59
+ "default": false,
60
+ "description": "Bridge Matrix leave events to the remote network."
61
+ },
62
+ "bridge_notices": {
63
+ "type": "boolean",
64
+ "default": false,
65
+ "description": "Bridge m.notice messages to the remote network."
66
+ },
67
+ "tag_only_on_create": {
68
+ "type": "boolean",
69
+ "default": false,
70
+ "description": "Only set room tags when creating a portal, not on updates."
71
+ },
72
+ "only_bridge_tags": {
73
+ "type": "array",
74
+ "items": { "type": "string" },
75
+ "description": "Only bridge rooms with these tags."
76
+ },
77
+ "mute_only_on_create": {
78
+ "type": "boolean",
79
+ "default": false,
80
+ "description": "Only set mute status when creating a portal, not on updates."
81
+ },
82
+ "deduplicate_matrix_messages": {
83
+ "type": "boolean",
84
+ "default": false,
85
+ "description": "Deduplicate Matrix messages before bridging to avoid double-sends."
86
+ },
87
+ "cross_room_replies": {
88
+ "type": "boolean",
89
+ "default": false,
90
+ "description": "Support replies across different portal rooms."
91
+ },
92
+ "outgoing_message_re_id": {
93
+ "type": "boolean",
94
+ "default": false,
95
+ "description": "Re-identify outgoing messages with the remote network ID."
96
+ },
97
+ "revert_failed_state_changes": {
98
+ "type": "boolean",
99
+ "default": false,
100
+ "description": "Revert Matrix state changes that failed to bridge."
101
+ },
102
+ "kick_matrix_users": {
103
+ "type": "boolean",
104
+ "default": false,
105
+ "description": "Kick Matrix users from portal rooms when they are removed on the remote network."
106
+ },
107
+ "enable_send_state_requests": {
108
+ "type": "boolean",
109
+ "default": false,
110
+ "description": "Enable handling send-state requests."
111
+ },
112
+ "phone_numbers_in_profile": {
113
+ "type": "boolean",
114
+ "default": false,
115
+ "description": "Include phone numbers in ghost user profiles."
116
+ },
117
+ "cleanup_on_logout": {
118
+ "$ref": "#/$defs/CleanupOnLogouts"
119
+ },
120
+ "relay": {
121
+ "$ref": "relay.json"
122
+ },
123
+ "portal_create_filter": {
124
+ "$ref": "#/$defs/PortalCreateFilter"
125
+ },
126
+ "permissions": {
127
+ "type": "object",
128
+ "additionalProperties": {
129
+ "$ref": "permissions.json"
130
+ },
131
+ "description": "User/server permission map. Keys are '*' (wildcard), 'example.com' (server), or '@user:example.com' (user)."
132
+ },
133
+ "backfill": {
134
+ "$ref": "backfill.json"
135
+ }
136
+ },
137
+ "additionalProperties": false,
138
+ "$defs": {
139
+ "CleanupAction": {
140
+ "type": "string",
141
+ "enum": ["", "nothing", "kick", "unbridge", "delete"],
142
+ "description": "Action to take on portal rooms during cleanup."
143
+ },
144
+ "CleanupOnLogout": {
145
+ "type": "object",
146
+ "properties": {
147
+ "private": { "$ref": "#/$defs/CleanupAction" },
148
+ "relayed": { "$ref": "#/$defs/CleanupAction" },
149
+ "shared_no_users": { "$ref": "#/$defs/CleanupAction" },
150
+ "shared_has_users": { "$ref": "#/$defs/CleanupAction" }
151
+ },
152
+ "additionalProperties": false
153
+ },
154
+ "CleanupOnLogouts": {
155
+ "type": "object",
156
+ "properties": {
157
+ "enabled": {
158
+ "type": "boolean",
159
+ "default": false,
160
+ "description": "Enable cleanup of portal rooms on logout."
161
+ },
162
+ "manual": {
163
+ "$ref": "#/$defs/CleanupOnLogout",
164
+ "description": "Cleanup behavior when a user manually logs out."
165
+ },
166
+ "bad_credentials": {
167
+ "$ref": "#/$defs/CleanupOnLogout",
168
+ "description": "Cleanup behavior when credentials become invalid."
169
+ }
170
+ },
171
+ "additionalProperties": false
172
+ },
173
+ "PortalCreateFilter": {
174
+ "type": "object",
175
+ "properties": {
176
+ "mode": {
177
+ "type": "string",
178
+ "enum": ["allow", "deny", ""],
179
+ "default": "",
180
+ "description": "Filter mode: 'allow' only allows listed items, 'deny' blocks listed items."
181
+ },
182
+ "list": {
183
+ "type": "array",
184
+ "items": {
185
+ "oneOf": [
186
+ { "type": "string" },
187
+ {
188
+ "type": "object",
189
+ "properties": {
190
+ "id": { "type": "string" },
191
+ "receiver": { "type": "string" }
192
+ },
193
+ "required": ["id"],
194
+ "additionalProperties": false
195
+ }
196
+ ]
197
+ },
198
+ "description": "Portal IDs to allow/deny. Each item is a portal ID string or an object with id and optional receiver."
199
+ },
200
+ "always_deny_from_login": {
201
+ "type": "array",
202
+ "items": { "type": "string" },
203
+ "description": "User login IDs that are always denied portal creation."
204
+ }
205
+ },
206
+ "additionalProperties": false
207
+ }
208
+ }
209
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "config.json",
4
+ "title": "Mautrix Bridge Configuration",
5
+ "description": "Root configuration schema for mautrix bridgev2-compatible bridges. Maps to mautrix bridgev2/bridgeconfig.Config.",
6
+ "type": "object",
7
+ "properties": {
8
+ "network": {
9
+ "type": "object",
10
+ "description": "Bridge-specific network configuration. Opaque to the framework — validated by each bridge implementation."
11
+ },
12
+ "homeserver": {
13
+ "$ref": "homeserver.json"
14
+ },
15
+ "appservice": {
16
+ "$ref": "appservice.json"
17
+ },
18
+ "bridge": {
19
+ "$ref": "bridge.json"
20
+ },
21
+ "database": {
22
+ "$ref": "database.json"
23
+ },
24
+ "matrix": {
25
+ "$ref": "matrix.json"
26
+ },
27
+ "encryption": {
28
+ "$ref": "encryption.json"
29
+ },
30
+ "backfill": {
31
+ "$ref": "backfill.json"
32
+ },
33
+ "analytics": {
34
+ "$ref": "analytics.json"
35
+ },
36
+ "provisioning": {
37
+ "$ref": "provisioning.json"
38
+ },
39
+ "public_media": {
40
+ "$ref": "public_media.json"
41
+ },
42
+ "direct_media": {
43
+ "$ref": "direct_media.json"
44
+ },
45
+ "double_puppet": {
46
+ "$ref": "double_puppet.json"
47
+ },
48
+ "management_room_texts": {
49
+ "$ref": "management_room_texts.json"
50
+ },
51
+ "logging": {
52
+ "$ref": "logging.json"
53
+ },
54
+ "env_config_prefix": {
55
+ "type": "string",
56
+ "description": "Prefix for environment variable overrides (e.g. 'MAUTRIX_SIGNAL')."
57
+ }
58
+ },
59
+ "required": ["homeserver", "appservice"],
60
+ "additionalProperties": false
61
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "database.json",
4
+ "description": "Database connection settings. Maps to go.mau.fi/util/dbutil.Config.",
5
+ "type": "object",
6
+ "properties": {
7
+ "type": {
8
+ "type": "string",
9
+ "enum": ["sqlite3-fk-wal", "postgres"],
10
+ "description": "Database engine type. 'sqlite3-fk-wal' is SQLite with foreign keys and WAL mode."
11
+ },
12
+ "uri": {
13
+ "type": "string",
14
+ "description": "Database connection URI (e.g. file:bridge.db?_txlock=immediate or postgres://...)."
15
+ },
16
+ "max_open_conns": {
17
+ "type": "integer",
18
+ "minimum": 0,
19
+ "default": 5,
20
+ "description": "Maximum number of open database connections."
21
+ },
22
+ "max_idle_conns": {
23
+ "type": "integer",
24
+ "minimum": 0,
25
+ "default": 1,
26
+ "description": "Maximum number of idle database connections."
27
+ },
28
+ "max_conn_idle_time": {
29
+ "type": "string",
30
+ "description": "Maximum time a connection can be idle (Go duration, e.g. '30m')."
31
+ },
32
+ "max_conn_lifetime": {
33
+ "type": "string",
34
+ "description": "Maximum lifetime of a connection (Go duration, e.g. '1h')."
35
+ }
36
+ },
37
+ "additionalProperties": false
38
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "direct_media.json",
4
+ "description": "Direct media access settings. Maps to mautrix bridgev2/bridgeconfig.DirectMediaConfig.",
5
+ "type": "object",
6
+ "properties": {
7
+ "enabled": {
8
+ "type": "boolean",
9
+ "default": false,
10
+ "description": "Enable direct media access via federation-style media endpoints."
11
+ },
12
+ "media_id_prefix": {
13
+ "type": "string",
14
+ "description": "Prefix for generated media IDs."
15
+ },
16
+ "server_name": {
17
+ "type": "string",
18
+ "description": "Server name for the media proxy (inlined from mediaproxy.BasicConfig)."
19
+ },
20
+ "server_key": {
21
+ "type": "string",
22
+ "description": "Signing key for federation. Set to 'generate' for auto-generation."
23
+ },
24
+ "well_known_response": {
25
+ "type": ["string", "null"],
26
+ "description": "Custom .well-known response for the media server."
27
+ },
28
+ "allow_proxy": {
29
+ "type": "boolean",
30
+ "default": false,
31
+ "description": "Allow proxying media through the homeserver if direct download fails."
32
+ }
33
+ },
34
+ "additionalProperties": false
35
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "double_puppet.json",
4
+ "description": "Double-puppeting settings. Maps to mautrix bridgev2/bridgeconfig.DoublePuppetConfig.",
5
+ "type": "object",
6
+ "properties": {
7
+ "servers": {
8
+ "type": "object",
9
+ "additionalProperties": { "type": "string" },
10
+ "description": "Map of server name to homeserver URL for double-puppeting."
11
+ },
12
+ "allow_discovery": {
13
+ "type": "boolean",
14
+ "default": false,
15
+ "description": "Allow discovering double-puppet homeservers via .well-known."
16
+ },
17
+ "secrets": {
18
+ "type": "object",
19
+ "additionalProperties": { "type": "string" },
20
+ "description": "Map of server name to shared secret for automatic double-puppet login."
21
+ }
22
+ },
23
+ "additionalProperties": false
24
+ }