Matrix protocol in OCaml, Eio specialised
at main 113 lines 2.5 kB view raw
1(** Matrix Client SDK for OCaml. 2 3 This library provides a full Matrix client implementation using 4 the requests library for HTTP and jsont for JSON encoding/decoding. 5 6 {2 Core Modules} 7 8 - {!module:Client} - HTTP client and session management 9 - {!module:Auth} - Authentication (login, logout, registration) 10 - {!module:Sync} - Traditional /sync endpoint 11 12 {2 Room Operations} 13 14 - {!module:Rooms} - Room creation, joining, leaving 15 - {!module:Messages} - Sending and receiving messages 16 - {!module:State} - Room state management 17 - {!module:Relations} - Reactions, edits, threads, replies 18 19 {2 User Features} 20 21 - {!module:Profile} - User profile management 22 - {!module:Presence} - Online/offline status 23 - {!module:Typing} - Typing indicators 24 - {!module:Receipts} - Read receipts 25 - {!module:Account} - Account settings 26 27 {2 Media & Devices} 28 29 - {!module:Media} - Upload/download media 30 - {!module:Devices} - Device management 31 32 {2 Discovery} 33 34 - {!module:Directory} - Room directory 35 - {!module:Room_preview} - Room preview and public rooms 36 37 {2 End-to-End Encryption} 38 39 - {!module:Keys} - Key management for E2EE 40 41 {2 Advanced Features} 42 43 - {!module:Spaces} - Matrix spaces (MSC1772) 44 - {!module:Sliding_sync} - Sliding sync protocol (MSC3575) 45 - {!module:Push} - Push notifications and rules 46 - {!module:Calls} - VoIP signaling *) 47 48(** {1 Core} *) 49 50module Error = Error 51module Client = Client 52module Auth = Auth 53module Sync = Sync 54 55(** {1 Rooms} *) 56 57module Rooms = Rooms 58module Messages = Messages 59module State = State 60module Relations = Relations 61 62(** {1 User Features} *) 63 64module Profile = Profile 65module Typing = Typing 66module Receipts = Receipts 67module Account = Account 68module Presence = Presence 69 70(** {1 Media & Devices} *) 71 72module Media = Media 73module Devices = Devices 74 75(** {1 Discovery} *) 76 77module Directory = Directory 78module Room_preview = Room_preview 79 80(** {1 End-to-End Encryption} *) 81 82module Keys = Keys 83module Olm = Olm 84module Verification = Verification 85module Backup = Backup 86 87(** {1 Storage & Caching} *) 88 89module Store = Store 90module Timeline = Timeline 91 92(** {1 User-Interactive Auth} *) 93 94module Uiaa = Uiaa 95 96(** {1 Offline Support} *) 97 98module Send_queue = Send_queue 99 100(** {1 Advanced Features} *) 101 102module Spaces = Spaces 103module Sliding_sync = Sliding_sync 104module Push = Push 105module Calls = Calls 106 107(** {1 Session Persistence} *) 108 109module Session = Session 110 111(** {1 CLI Support} *) 112 113module Cmd = Cmd