Matrix protocol in OCaml, Eio specialised
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