@docukit/docsync 0.0.1-alpha.1 → 0.2.0-alpha.1

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 (268) hide show
  1. package/dist/src/bindings/docnode.d.ts +3 -0
  2. package/dist/src/bindings/docnode.d.ts.map +1 -0
  3. package/dist/src/{shared/docBinding.js → bindings/docnode.js} +2 -5
  4. package/dist/src/bindings/docnode.js.map +1 -0
  5. package/dist/src/bindings/index.d.ts +3 -0
  6. package/dist/src/bindings/index.d.ts.map +1 -0
  7. package/dist/src/bindings/index.js +5 -0
  8. package/dist/src/bindings/index.js.map +1 -0
  9. package/dist/src/client/handlers/clientInitiated/deleteDoc.d.ts +4 -0
  10. package/dist/src/client/handlers/clientInitiated/deleteDoc.d.ts.map +1 -0
  11. package/dist/src/client/handlers/clientInitiated/deleteDoc.js +6 -0
  12. package/dist/src/client/handlers/clientInitiated/deleteDoc.js.map +1 -0
  13. package/dist/src/client/handlers/clientInitiated/presence.d.ts +10 -0
  14. package/dist/src/client/handlers/clientInitiated/presence.d.ts.map +1 -0
  15. package/dist/src/client/handlers/clientInitiated/presence.js +45 -0
  16. package/dist/src/client/handlers/clientInitiated/presence.js.map +1 -0
  17. package/dist/src/client/handlers/clientInitiated/sync/buildSyncPayload.d.ts +20 -0
  18. package/dist/src/client/handlers/clientInitiated/sync/buildSyncPayload.d.ts.map +1 -0
  19. package/dist/src/client/handlers/clientInitiated/sync/buildSyncPayload.js +38 -0
  20. package/dist/src/client/handlers/clientInitiated/sync/buildSyncPayload.js.map +1 -0
  21. package/dist/src/client/handlers/clientInitiated/sync/handleSyncResponse/applyAndBroadcastServerOps.d.ts +12 -0
  22. package/dist/src/client/handlers/clientInitiated/sync/handleSyncResponse/applyAndBroadcastServerOps.d.ts.map +1 -0
  23. package/dist/src/client/handlers/clientInitiated/sync/handleSyncResponse/applyAndBroadcastServerOps.js +39 -0
  24. package/dist/src/client/handlers/clientInitiated/sync/handleSyncResponse/applyAndBroadcastServerOps.js.map +1 -0
  25. package/dist/src/client/handlers/clientInitiated/sync/handleSyncResponse/handleSyncResponse.d.ts +11 -0
  26. package/dist/src/client/handlers/clientInitiated/sync/handleSyncResponse/handleSyncResponse.d.ts.map +1 -0
  27. package/dist/src/client/handlers/clientInitiated/sync/handleSyncResponse/handleSyncResponse.js +37 -0
  28. package/dist/src/client/handlers/clientInitiated/sync/handleSyncResponse/handleSyncResponse.js.map +1 -0
  29. package/dist/src/client/handlers/clientInitiated/sync/handleSyncResponse/persistDocDeleted.d.ts +8 -0
  30. package/dist/src/client/handlers/clientInitiated/sync/handleSyncResponse/persistDocDeleted.d.ts.map +1 -0
  31. package/dist/src/client/handlers/clientInitiated/sync/handleSyncResponse/persistDocDeleted.js +13 -0
  32. package/dist/src/client/handlers/clientInitiated/sync/handleSyncResponse/persistDocDeleted.js.map +1 -0
  33. package/dist/src/client/handlers/clientInitiated/sync/handleSyncResponse/persistSyncResult.d.ts +14 -0
  34. package/dist/src/client/handlers/clientInitiated/sync/handleSyncResponse/persistSyncResult.d.ts.map +1 -0
  35. package/dist/src/client/handlers/clientInitiated/sync/handleSyncResponse/persistSyncResult.js +38 -0
  36. package/dist/src/client/handlers/clientInitiated/sync/handleSyncResponse/persistSyncResult.js.map +1 -0
  37. package/dist/src/client/handlers/clientInitiated/sync/sync.d.ts +7 -0
  38. package/dist/src/client/handlers/clientInitiated/sync/sync.d.ts.map +1 -0
  39. package/dist/src/client/handlers/clientInitiated/sync/sync.js +41 -0
  40. package/dist/src/client/handlers/clientInitiated/sync/sync.js.map +1 -0
  41. package/dist/src/client/handlers/clientInitiated/sync.d.ts +21 -0
  42. package/dist/src/client/handlers/clientInitiated/sync.d.ts.map +1 -0
  43. package/dist/src/client/handlers/clientInitiated/sync.js +174 -0
  44. package/dist/src/client/handlers/clientInitiated/sync.js.map +1 -0
  45. package/dist/src/client/handlers/clientInitiated/unsubscribe.d.ts +4 -0
  46. package/dist/src/client/handlers/clientInitiated/unsubscribe.d.ts.map +1 -0
  47. package/dist/src/client/handlers/clientInitiated/unsubscribe.js +12 -0
  48. package/dist/src/client/handlers/clientInitiated/unsubscribe.js.map +1 -0
  49. package/dist/src/client/handlers/connection/connect.d.ts +5 -0
  50. package/dist/src/client/handlers/connection/connect.d.ts.map +1 -0
  51. package/dist/src/client/handlers/connection/connect.js +10 -0
  52. package/dist/src/client/handlers/connection/connect.js.map +1 -0
  53. package/dist/src/client/handlers/connection/disconnect.d.ts +5 -0
  54. package/dist/src/client/handlers/connection/disconnect.d.ts.map +1 -0
  55. package/dist/src/client/handlers/connection/disconnect.js +21 -0
  56. package/dist/src/client/handlers/connection/disconnect.js.map +1 -0
  57. package/dist/src/client/handlers/serverInitiated/dirty.d.ts +5 -0
  58. package/dist/src/client/handlers/serverInitiated/dirty.d.ts.map +1 -0
  59. package/dist/src/client/handlers/serverInitiated/dirty.js +7 -0
  60. package/dist/src/client/handlers/serverInitiated/dirty.js.map +1 -0
  61. package/dist/src/client/handlers/serverInitiated/presence.d.ts +6 -0
  62. package/dist/src/client/handlers/serverInitiated/presence.d.ts.map +1 -0
  63. package/dist/src/client/handlers/serverInitiated/presence.js +11 -0
  64. package/dist/src/client/handlers/serverInitiated/presence.js.map +1 -0
  65. package/dist/src/client/index.d.ts +20 -73
  66. package/dist/src/client/index.d.ts.map +1 -1
  67. package/dist/src/client/index.js +54 -522
  68. package/dist/src/client/index.js.map +1 -1
  69. package/dist/src/client/methods/deleteDoc.d.ts +5 -0
  70. package/dist/src/client/methods/deleteDoc.d.ts.map +1 -0
  71. package/dist/src/client/methods/deleteDoc.js +22 -0
  72. package/dist/src/client/methods/deleteDoc.js.map +1 -0
  73. package/dist/src/client/methods/getDoc/getDoc.d.ts +6 -0
  74. package/dist/src/client/methods/getDoc/getDoc.d.ts.map +1 -0
  75. package/dist/src/client/methods/getDoc/getDoc.js +107 -0
  76. package/dist/src/client/methods/getDoc/getDoc.js.map +1 -0
  77. package/dist/src/client/methods/getDoc/loadOrCreateDoc.d.ts +3 -0
  78. package/dist/src/client/methods/getDoc/loadOrCreateDoc.d.ts.map +1 -0
  79. package/dist/src/client/methods/getDoc/loadOrCreateDoc.js +42 -0
  80. package/dist/src/client/methods/getDoc/loadOrCreateDoc.js.map +1 -0
  81. package/dist/src/client/methods/getDoc/setupChangeListener/onLocalOperations.d.ts +6 -0
  82. package/dist/src/client/methods/getDoc/setupChangeListener/onLocalOperations.d.ts.map +1 -0
  83. package/dist/src/client/methods/getDoc/setupChangeListener/onLocalOperations.js +36 -0
  84. package/dist/src/client/methods/getDoc/setupChangeListener/onLocalOperations.js.map +1 -0
  85. package/dist/src/client/methods/getDoc/setupChangeListener/setupChangeListener.d.ts +3 -0
  86. package/dist/src/client/methods/getDoc/setupChangeListener/setupChangeListener.d.ts.map +1 -0
  87. package/dist/src/client/methods/getDoc/setupChangeListener/setupChangeListener.js +30 -0
  88. package/dist/src/client/methods/getDoc/setupChangeListener/setupChangeListener.js.map +1 -0
  89. package/dist/src/client/methods/getDoc/unloadDoc.d.ts +3 -0
  90. package/dist/src/client/methods/getDoc/unloadDoc.d.ts.map +1 -0
  91. package/dist/src/client/methods/getDoc/unloadDoc.js +32 -0
  92. package/dist/src/client/methods/getDoc/unloadDoc.js.map +1 -0
  93. package/dist/src/client/methods/getPresence.d.ts +6 -0
  94. package/dist/src/client/methods/getPresence.d.ts.map +1 -0
  95. package/dist/src/client/methods/getPresence.js +23 -0
  96. package/dist/src/client/methods/getPresence.js.map +1 -0
  97. package/dist/src/client/providers/indexeddb.d.ts +3 -3
  98. package/dist/src/client/providers/indexeddb.d.ts.map +1 -1
  99. package/dist/src/client/providers/indexeddb.js.map +1 -1
  100. package/dist/src/client/types.d.ts +81 -0
  101. package/dist/src/client/types.d.ts.map +1 -0
  102. package/dist/src/client/types.js +2 -0
  103. package/dist/src/client/types.js.map +1 -0
  104. package/dist/src/client/utils/BCHelper.d.ts +21 -0
  105. package/dist/src/client/utils/BCHelper.d.ts.map +1 -0
  106. package/dist/src/client/utils/BCHelper.js +57 -0
  107. package/dist/src/client/utils/BCHelper.js.map +1 -0
  108. package/dist/src/client/utils/applyPresencePatch.d.ts +11 -0
  109. package/dist/src/client/utils/applyPresencePatch.d.ts.map +1 -0
  110. package/dist/src/client/utils/applyPresencePatch.js +21 -0
  111. package/dist/src/client/utils/applyPresencePatch.js.map +1 -0
  112. package/dist/src/client/utils/createSocket.d.ts +4 -0
  113. package/dist/src/client/utils/createSocket.d.ts.map +1 -0
  114. package/dist/src/client/utils/createSocket.js +29 -0
  115. package/dist/src/client/utils/createSocket.js.map +1 -0
  116. package/dist/src/client/utils/events.d.ts +46 -0
  117. package/dist/src/client/utils/events.d.ts.map +1 -0
  118. package/dist/src/client/utils/events.js +25 -0
  119. package/dist/src/client/utils/events.js.map +1 -0
  120. package/dist/src/client/utils/getDeviceId.d.ts +6 -0
  121. package/dist/src/client/utils/getDeviceId.d.ts.map +1 -0
  122. package/dist/src/client/utils/getDeviceId.js +14 -0
  123. package/dist/src/client/utils/getDeviceId.js.map +1 -0
  124. package/dist/src/client/utils/getOwnPresencePatch.d.ts +3 -0
  125. package/dist/src/client/utils/getOwnPresencePatch.d.ts.map +1 -0
  126. package/dist/src/client/utils/getOwnPresencePatch.js +10 -0
  127. package/dist/src/client/utils/getOwnPresencePatch.js.map +1 -0
  128. package/dist/src/client/utils/request.d.ts +10 -0
  129. package/dist/src/client/utils/request.d.ts.map +1 -0
  130. package/dist/src/client/utils/request.js +15 -0
  131. package/dist/src/client/utils/request.js.map +1 -0
  132. package/dist/src/exports/client.d.ts +4 -1
  133. package/dist/src/exports/client.d.ts.map +1 -1
  134. package/dist/src/exports/client.js +1 -0
  135. package/dist/src/exports/client.js.map +1 -1
  136. package/dist/src/exports/docnode.d.ts +1 -1
  137. package/dist/src/exports/docnode.d.ts.map +1 -1
  138. package/dist/src/exports/docnode.js +1 -1
  139. package/dist/src/exports/docnode.js.map +1 -1
  140. package/dist/src/exports/server.d.ts +1 -1
  141. package/dist/src/exports/server.d.ts.map +1 -1
  142. package/dist/src/exports/server.js.map +1 -1
  143. package/dist/src/exports/shared.d.ts +2 -0
  144. package/dist/src/exports/shared.d.ts.map +1 -0
  145. package/dist/src/exports/shared.js +2 -0
  146. package/dist/src/exports/shared.js.map +1 -0
  147. package/dist/src/server/cli.js +1 -1
  148. package/dist/src/server/cli.js.map +1 -1
  149. package/dist/src/server/handlers/connection/authenticationAndConnection.d.ts +7 -0
  150. package/dist/src/server/handlers/connection/authenticationAndConnection.d.ts.map +1 -0
  151. package/dist/src/server/handlers/connection/authenticationAndConnection.js +57 -0
  152. package/dist/src/server/handlers/connection/authenticationAndConnection.js.map +1 -0
  153. package/dist/src/server/handlers/connection/disconnect.d.ts +5 -0
  154. package/dist/src/server/handlers/connection/disconnect.d.ts.map +1 -0
  155. package/dist/src/server/handlers/connection/disconnect.js +25 -0
  156. package/dist/src/server/handlers/connection/disconnect.js.map +1 -0
  157. package/dist/src/server/handlers/deleteDoc.d.ts +11 -0
  158. package/dist/src/server/handlers/deleteDoc.d.ts.map +1 -0
  159. package/dist/src/server/handlers/deleteDoc.js +13 -0
  160. package/dist/src/server/handlers/deleteDoc.js.map +1 -0
  161. package/dist/src/server/handlers/disconnect.d.ts +10 -0
  162. package/dist/src/server/handlers/disconnect.d.ts.map +1 -0
  163. package/dist/src/server/handlers/disconnect.js +24 -0
  164. package/dist/src/server/handlers/disconnect.js.map +1 -0
  165. package/dist/src/server/handlers/presence.d.ts +12 -0
  166. package/dist/src/server/handlers/presence.d.ts.map +1 -0
  167. package/dist/src/server/handlers/presence.js +19 -0
  168. package/dist/src/server/handlers/presence.js.map +1 -0
  169. package/dist/src/server/handlers/sync/handleError.d.ts +13 -0
  170. package/dist/src/server/handlers/sync/handleError.d.ts.map +1 -0
  171. package/dist/src/server/handlers/sync/handleError.js +23 -0
  172. package/dist/src/server/handlers/sync/handleError.js.map +1 -0
  173. package/dist/src/server/handlers/sync/handleSync.d.ts +10 -0
  174. package/dist/src/server/handlers/sync/handleSync.d.ts.map +1 -0
  175. package/dist/src/server/handlers/sync/handleSync.js +68 -0
  176. package/dist/src/server/handlers/sync/handleSync.js.map +1 -0
  177. package/dist/src/server/handlers/sync/notifyClients.d.ts +12 -0
  178. package/dist/src/server/handlers/sync/notifyClients.d.ts.map +1 -0
  179. package/dist/src/server/handlers/sync/notifyClients.js +27 -0
  180. package/dist/src/server/handlers/sync/notifyClients.js.map +1 -0
  181. package/dist/src/server/handlers/sync/runSyncTransaction.d.ts +16 -0
  182. package/dist/src/server/handlers/sync/runSyncTransaction.d.ts.map +1 -0
  183. package/dist/src/server/handlers/sync/runSyncTransaction.js +43 -0
  184. package/dist/src/server/handlers/sync/runSyncTransaction.js.map +1 -0
  185. package/dist/src/server/handlers/sync/squashIfNeeded.d.ts +9 -0
  186. package/dist/src/server/handlers/sync/squashIfNeeded.d.ts.map +1 -0
  187. package/dist/src/server/handlers/sync/squashIfNeeded.js +32 -0
  188. package/dist/src/server/handlers/sync/squashIfNeeded.js.map +1 -0
  189. package/dist/src/server/handlers/sync/subscribeToRoom.d.ts +8 -0
  190. package/dist/src/server/handlers/sync/subscribeToRoom.d.ts.map +1 -0
  191. package/dist/src/server/handlers/sync/subscribeToRoom.js +21 -0
  192. package/dist/src/server/handlers/sync/subscribeToRoom.js.map +1 -0
  193. package/dist/src/server/handlers/sync.d.ts +13 -0
  194. package/dist/src/server/handlers/sync.d.ts.map +1 -0
  195. package/dist/src/server/handlers/sync.js +161 -0
  196. package/dist/src/server/handlers/sync.js.map +1 -0
  197. package/dist/src/server/handlers/unsubscribe.d.ts +10 -0
  198. package/dist/src/server/handlers/unsubscribe.d.ts.map +1 -0
  199. package/dist/src/server/handlers/unsubscribe.js +21 -0
  200. package/dist/src/server/handlers/unsubscribe.js.map +1 -0
  201. package/dist/src/server/index.d.ts +11 -11
  202. package/dist/src/server/index.d.ts.map +1 -1
  203. package/dist/src/server/index.js +37 -337
  204. package/dist/src/server/index.js.map +1 -1
  205. package/dist/src/server/providers/memory.d.ts +3 -3
  206. package/dist/src/server/providers/memory.d.ts.map +1 -1
  207. package/dist/src/server/providers/memory.js +5 -0
  208. package/dist/src/server/providers/memory.js.map +1 -1
  209. package/dist/src/server/providers/postgres/drizzle.config.d.ts.map +1 -1
  210. package/dist/src/server/providers/postgres/drizzle.config.js +2 -1
  211. package/dist/src/server/providers/postgres/drizzle.config.js.map +1 -1
  212. package/dist/src/server/providers/postgres/index.d.ts +4 -3
  213. package/dist/src/server/providers/postgres/index.d.ts.map +1 -1
  214. package/dist/src/server/providers/postgres/index.js +7 -9
  215. package/dist/src/server/providers/postgres/index.js.map +1 -1
  216. package/dist/src/server/providers/postgres/schema.d.ts +1 -0
  217. package/dist/src/server/providers/postgres/schema.d.ts.map +1 -1
  218. package/dist/src/server/providers/postgres/schema.js +18 -1
  219. package/dist/src/server/providers/postgres/schema.js.map +1 -1
  220. package/dist/src/server/types.d.ts +107 -0
  221. package/dist/src/server/types.d.ts.map +1 -0
  222. package/dist/src/server/types.js +2 -0
  223. package/dist/src/server/types.js.map +1 -0
  224. package/dist/src/server/utils/applyPresenceUpdate.d.ts +11 -0
  225. package/dist/src/server/utils/applyPresenceUpdate.d.ts.map +1 -0
  226. package/dist/src/server/utils/applyPresenceUpdate.js +25 -0
  227. package/dist/src/server/utils/applyPresenceUpdate.js.map +1 -0
  228. package/dist/src/server/utils/authorizeMiddleware.d.ts +4 -0
  229. package/dist/src/server/utils/authorizeMiddleware.d.ts.map +1 -0
  230. package/dist/src/server/utils/authorizeMiddleware.js +73 -0
  231. package/dist/src/server/utils/authorizeMiddleware.js.map +1 -0
  232. package/dist/src/server/utils/events.d.ts +16 -0
  233. package/dist/src/server/utils/events.d.ts.map +1 -0
  234. package/dist/src/server/utils/events.js +22 -0
  235. package/dist/src/server/utils/events.js.map +1 -0
  236. package/dist/src/server/utils/rateLimitMiddleware.d.ts +6 -0
  237. package/dist/src/server/utils/rateLimitMiddleware.d.ts.map +1 -0
  238. package/dist/src/server/utils/rateLimitMiddleware.js +65 -0
  239. package/dist/src/server/utils/rateLimitMiddleware.js.map +1 -0
  240. package/dist/src/shared/types.d.ts +52 -338
  241. package/dist/src/shared/types.d.ts.map +1 -1
  242. package/dist/src/shared/types.js +0 -4
  243. package/dist/src/shared/types.js.map +1 -1
  244. package/dist/tsconfig.build.tsbuildinfo +1 -1
  245. package/package.json +3 -5
  246. package/dist/src/exports/index.d.ts +0 -3
  247. package/dist/src/exports/index.d.ts.map +0 -1
  248. package/dist/src/exports/index.js +0 -3
  249. package/dist/src/exports/index.js.map +0 -1
  250. package/dist/src/exports/testing.d.ts +0 -7
  251. package/dist/src/exports/testing.d.ts.map +0 -1
  252. package/dist/src/exports/testing.js +0 -6
  253. package/dist/src/exports/testing.js.map +0 -1
  254. package/dist/src/shared/debounce.d.ts +0 -2
  255. package/dist/src/shared/debounce.d.ts.map +0 -1
  256. package/dist/src/shared/debounce.js +0 -10
  257. package/dist/src/shared/debounce.js.map +0 -1
  258. package/dist/src/shared/docBinding.d.ts +0 -17
  259. package/dist/src/shared/docBinding.d.ts.map +0 -1
  260. package/dist/src/shared/docBinding.js.map +0 -1
  261. package/dist/src/shared/throttle.d.ts +0 -30
  262. package/dist/src/shared/throttle.d.ts.map +0 -1
  263. package/dist/src/shared/throttle.js +0 -51
  264. package/dist/src/shared/throttle.js.map +0 -1
  265. package/dist/src/shared/utils.d.ts +0 -2
  266. package/dist/src/shared/utils.d.ts.map +0 -1
  267. package/dist/src/shared/utils.js +0 -11
  268. package/dist/src/shared/utils.js.map +0 -1
@@ -1,10 +1,26 @@
1
+ import type { DeleteDocHandler } from "../server/handlers/deleteDoc.js";
2
+ import type { PresenceHandler } from "../server/handlers/presence.js";
3
+ import type { SyncHandler } from "../server/handlers/sync.js";
4
+ import type { UnsubscribeDocHandler } from "../server/handlers/unsubscribe.js";
1
5
  /**
2
6
  * DocSync Type Definitions
3
7
  *
4
8
  * This file contains all type definitions for the DocSync library.
5
- * It is organized into collapsible regions for better navigation.
6
9
  */
7
- import type { DocBinding } from "./docBinding.js";
10
+ export interface DocBinding<D extends {} = {}, S extends {} = {}, O extends {} = {}> {
11
+ create(type: string, id?: string): {
12
+ doc: D;
13
+ docId: string;
14
+ };
15
+ deserialize(serializedDoc: S): D;
16
+ serialize(doc: D): S;
17
+ onChange(doc: D, cb: (ev: {
18
+ operations: O;
19
+ }) => void): void;
20
+ applyOperations(doc: D, operations: O): void;
21
+ dispose(doc: D): void;
22
+ }
23
+ export type MaybePromise<T> = T | Promise<T>;
8
24
  export type Result<D, E = Error> = {
9
25
  data: D;
10
26
  error?: never;
@@ -12,361 +28,68 @@ export type Result<D, E = Error> = {
12
28
  data?: never;
13
29
  error: E;
14
30
  };
15
- export type QueryResult<D, E = Error> = {
16
- status: "loading";
17
- data?: never;
18
- error?: never;
19
- } | {
20
- status: "success";
21
- data: D;
22
- error?: never;
23
- } | {
24
- status: "error";
25
- data?: never;
26
- error: E;
27
- };
28
- export type DocSyncEvents<S, O> = {
29
- "sync-operations": {
30
- request: {
31
- docId: string;
32
- operations?: O[];
33
- clock: number;
34
- presence?: unknown;
35
- };
36
- response: Result<{
37
- docId: string;
38
- operations?: O[];
39
- serializedDoc?: S;
40
- clock: number;
41
- }, {
42
- type: "AuthorizationError" | "DatabaseError" | "ValidationError";
43
- message: string;
44
- }>;
45
- };
46
- presence: {
47
- request: {
48
- docId: string;
49
- presence: unknown;
50
- };
51
- response: Result<void>;
52
- };
53
- "delete-doc": {
54
- request: {
55
- docId: string;
56
- };
57
- response: {
58
- success: boolean;
59
- };
60
- };
61
- "unsubscribe-doc": {
62
- request: {
63
- docId: string;
64
- };
65
- response: {
66
- success: boolean;
67
- };
68
- };
69
- };
70
- export type DocSyncEventName = keyof DocSyncEvents<unknown, unknown>;
71
- export type AuthorizeEvent<TContext = {}, S = unknown, O = unknown> = {
72
- [K in DocSyncEventName]: {
73
- type: K;
74
- payload: DocSyncEvents<S, O>[K]["request"];
75
- userId: string;
76
- context: TContext;
77
- };
78
- }[DocSyncEventName];
79
- /**
80
- * Client-side event definitions.
81
- *
82
- * Based on "wide events" philosophy from loggingsucks.com:
83
- * 1. **Optional fields** added as they become available
84
- * 2. **Can have partial data** (error + partial response can coexist) - **SERVER EVENTS ONLY**
85
- * 3. **One operation = one event** (sync start + complete + error = single wide event)
86
- * 4. **Separate concerns = separate events** (connect ≠ disconnect)
87
- *
88
- * ## Events
89
- *
90
- * **Client (6):** `onConnect`, `onDisconnect`, `onChange`, `onSync`, `onDocLoad`, `onDocUnload`
91
- * **Server (3):** `onClientConnect`, `onClientDisconnect`, `onSyncRequest`
92
- *
93
- * **Wide events:** `onSyncRequest` (server)
94
- * **Strict Result events:** `onSync` (client) - uses Result type for mutually exclusive data/error
95
- */
96
- /** Emitted when WebSocket connection is lost */
97
- export type DisconnectEvent = {
98
- reason: string;
99
- };
100
- /** Emitted when document content changes */
101
- export type ChangeEvent<O = unknown> = {
31
+ /** Shared request payload for the sync event (client sends, server receives). */
32
+ export type SyncRequest<O = unknown> = {
33
+ type: string;
102
34
  docId: string;
103
- origin: "local" | "broadcast" | "remote";
104
- operations: O[];
105
- };
106
- /** Emitted once after sync completes (success or error) */
107
- export type SyncEvent<O = unknown, S = unknown> = {
108
- req: {
109
- docId: string;
110
- operations: O[];
111
- clock: number;
112
- };
113
- } & Result<{
114
35
  operations?: O[];
115
36
  clock: number;
37
+ presence?: unknown;
38
+ };
39
+ /** Shared response for the sync event (server sends, client receives). */
40
+ export type SyncResponse<S = unknown, O = unknown> = Result<{
41
+ docId: string;
42
+ operations?: O[];
116
43
  serializedDoc?: S;
44
+ clock: number;
117
45
  }, {
118
- type: "NetworkError" | "AuthorizationError" | "DatabaseError" | "ValidationError";
46
+ type: "AuthorizationError" | "DatabaseError" | "ValidationError";
119
47
  message: string;
120
48
  }>;
121
- /** Emitted when document is loaded */
122
- export type DocLoadEvent = {
49
+ /** Shared request/response for the presence event. */
50
+ export type PresenceRequest = {
123
51
  docId: string;
124
- source: "cache" | "local" | "created";
125
- refCount: number;
52
+ presence: unknown;
126
53
  };
127
- /** Emitted when document is unloaded. If refCount is 0, the document is removed from the cache. */
128
- export type DocUnloadEvent = {
54
+ export type PresenceResponse = Result<void, {
55
+ type: "AuthorizationError";
56
+ message: string;
57
+ }>;
58
+ /** Shared request/response for the delete-doc event. */
59
+ export type DeleteDocRequest = {
129
60
  docId: string;
130
- refCount: number;
131
- };
132
- export type ConnectHandler = () => void;
133
- export type DisconnectHandler = (event: DisconnectEvent) => void;
134
- export type ChangeHandler<O = {}> = {
135
- (event: ChangeEvent<O>): void;
136
- };
137
- export type SyncHandler<O = {}> = {
138
- (event: SyncEvent<O>): void;
139
61
  };
140
- export type DocLoadHandler = (event: DocLoadEvent) => void;
141
- export type DocUnloadHandler = (event: DocUnloadEvent) => void;
142
- /**
143
- * Server-side event definitions.
144
- * These events follow the "wide events" philosophy for comprehensive logging.
145
- */
146
- /** Emitted when client successfully authenticates and connects */
147
- export type ClientConnectEvent<TContext = unknown> = {
148
- userId: string;
149
- deviceId: string;
150
- socketId: string;
151
- context: TContext;
62
+ export type DeleteDocResponse = {
63
+ success: boolean;
152
64
  };
153
- /**
154
- * Emitted when client disconnects.
155
- *
156
- * Also emitted when a connection attempt fails (e.g., authentication failure).
157
- * In that case, userId and deviceId may not be available.
158
- *
159
- * Common `reason` values from Socket.IO:
160
- * - "transport close" - Connection lost
161
- * - "client namespace disconnect" - Client explicitly disconnected
162
- * - "server namespace disconnect" - Server closed connection
163
- * - "Authentication failed: invalid token" - Auth failed during connection attempt
164
- */
165
- export type ClientDisconnectEvent = {
166
- userId: string;
167
- deviceId: string;
168
- socketId: string;
169
- reason: string;
170
- };
171
- /**
172
- * Emitted once after sync-operations request completes.
173
- *
174
- * Common error.type values:
175
- * - "AuthorizationError" - Access denied (authorization failed)
176
- * - "DatabaseError" - Database operation failed
177
- * - "ValidationError" - Invalid request data
178
- */
179
- export type SyncRequestEvent<O = unknown, S = unknown> = {
180
- userId: string;
181
- deviceId: string;
182
- socketId: string;
183
- status: "success" | "error";
184
- req: {
185
- docId: string;
186
- operations?: O[];
187
- clock: number;
188
- presence?: unknown;
189
- };
190
- res?: {
191
- operations?: O[];
192
- clock?: number;
193
- serializedDoc?: S;
194
- };
195
- durationMs?: number;
196
- devicesCount?: number;
197
- clientsCount?: number;
198
- error?: {
199
- type: "AuthorizationError" | "DatabaseError" | "ValidationError";
200
- message: string;
201
- stack?: string;
202
- };
203
- };
204
- export type ClientConnectHandler<TContext = unknown> = (event: ClientConnectEvent<TContext>) => void;
205
- export type ClientDisconnectHandler = (event: ClientDisconnectEvent) => void;
206
- export type SyncRequestHandler<O = unknown, S = unknown> = (event: SyncRequestEvent<O, S>) => void;
207
- /**
208
- * State for deferred operations (batching and debouncing).
209
- * Used to track pending timeouts and their associated data.
210
- */
211
- export type DeferredState<T> = {
212
- timeout?: ReturnType<typeof setTimeout>;
213
- data: T;
214
- };
215
- export type Identity = {
216
- userId: string;
217
- secret: string;
218
- };
219
- /**
220
- * Arguments for {@link DocSyncClient["getDoc"]}.
221
- *
222
- * - `{ type, id }` → Try to get an existing doc by ID. Returns `undefined` if not found.
223
- * - `{ type, createIfMissing: true }` → Create a new doc with auto-generated ID (ulid).
224
- * - `{ type, id, createIfMissing: true }` → Get existing doc or create it if not found.
225
- */
226
- export type GetDocArgs = {
227
- type: string;
228
- id: string;
229
- createIfMissing?: boolean;
230
- } | {
231
- type: string;
232
- createIfMissing: true;
233
- };
234
- export type DocData<D> = {
235
- doc: D;
65
+ /** Shared request/response for the unsubscribe-doc event. */
66
+ export type UnsubscribeDocRequest = {
236
67
  docId: string;
237
68
  };
69
+ export type UnsubscribeDocResponse = {
70
+ success: boolean;
71
+ };
72
+ export type DocSyncEventName = "sync" | "presence" | "delete-doc" | "unsubscribe-doc";
238
73
  /**
239
74
  * Presence is a record of user IDs to their presence data.
240
75
  * It is used to track the presence of users in a document.
241
76
  */
242
77
  export type Presence<T = unknown> = Record<string, T>;
243
- export type BroadcastMessage<O> = {
244
- type: "OPERATIONS";
245
- operations: O;
246
- docId: string;
247
- presence?: Record<string, unknown>;
248
- } | {
249
- type: "PRESENCE";
250
- docId: string;
251
- presence: Record<string, unknown>;
252
- };
253
- export type ClientConfig<D extends {} = {}, S extends {} = {}, O extends {} = {}> = {
254
- docBinding: DocBinding<D, S, O>;
255
- server: {
256
- url: string;
257
- auth: {
258
- /**
259
- * Server authentication token.
260
- *
261
- * - Passed verbatim to the server on connection.
262
- * - Validation is delegated to the server via `onAuth`.
263
- * - This library does not issue, refresh, or rotate tokens.
264
- */
265
- getToken: () => Promise<string>;
266
- };
267
- };
268
- local: {
269
- provider: new (identity: Identity) => Provider<any, any, "client">;
270
- /**
271
- * Resolves the local storage identity.
272
- *
273
- * Used exclusively for:
274
- * - Namespacing local persistence (userId)
275
- * - Deriving encryption keys for data at rest (secret)
276
- *
277
- * About the secret:
278
- * - Must never be persisted client-side (localStorage, IndexedDB, etc).
279
- * - Re-encryption is not supported, so losing the secret makes local data permanently unrecoverable.
280
- *
281
- */
282
- getIdentity: () => Promise<Identity>;
283
- };
284
- };
285
- /**
286
- * Server configuration with generic context type.
287
- *
288
- * @typeParam TContext - Application-defined context shape returned by authenticate
289
- * and passed to authorize. Defaults to empty object.
290
- */
291
- export type ServerConfig<TContext, D extends {}, S extends {}, O extends {}> = {
292
- docBinding: DocBinding<D, S, O>;
293
- port?: number;
294
- provider: new () => Provider<NoInfer<S>, NoInfer<O>, "server">;
295
- /**
296
- * Authenticates a WebSocket connection.
297
- *
298
- * - Called once per connection attempt.
299
- * - Must validate the provided token.
300
- * - Must resolve the canonical userId.
301
- * - May optionally return a context object that will be passed to authorize.
302
- *
303
- * @returns User info with optional context, or undefined if authentication fails.
304
- */
305
- authenticate(ev: {
306
- token: string;
307
- }): Promise<{
308
- userId: string;
309
- context?: TContext;
310
- } | undefined>;
311
- /**
312
- * Authorizes an operation.
313
- *
314
- * - Called for each operation (get-doc, apply-operations, create-doc, save-doc).
315
- * - Receives the cached context from authenticate.
316
- * - Can use cached context for fast checks or fetch fresh data for consistency.
317
- *
318
- * @returns true to allow, false to deny.
319
- */
320
- authorize?(ev: AuthorizeEvent<TContext, S, O>): Promise<boolean>;
321
- };
322
78
  export type SerializedDocPayload<S> = {
323
79
  serializedDoc: S;
324
80
  docId: string;
325
81
  clock: number;
326
82
  };
327
- /**
328
- * Context passed to transaction callbacks.
329
- * All operations share the same underlying transaction.
330
- */
331
- export type TransactionContext<S, O, P extends "server" | "client"> = {
332
- getSerializedDoc(docId: string): Promise<{
333
- serializedDoc: S;
334
- clock: number;
335
- } | undefined>;
336
- getOperations(arg: P extends "server" ? {
337
- docId: string;
338
- clock: number;
339
- } : {
340
- docId: string;
341
- }): Promise<O[][]>;
342
- deleteOperations(arg: {
343
- docId: string;
344
- count: number;
345
- }): Promise<void>;
346
- saveOperations(arg: {
347
- docId: string;
348
- operations: O[];
349
- }): Promise<P extends "server" ? number : void>;
350
- saveSerializedDoc(arg: SerializedDocPayload<S>): Promise<void>;
351
- };
352
- /**
353
- * Storage provider for client or server.
354
- * All operations must be performed within a transaction.
355
- */
356
- export type Provider<S, O, P extends "server" | "client"> = {
357
- /**
358
- * Run operations in a single atomic transaction.
359
- * If any operation fails, all changes are rolled back.
360
- */
361
- transaction<T>(mode: "readonly" | "readwrite", callback: (ctx: TransactionContext<S, O, P>) => Promise<T>): Promise<T>;
362
- };
363
83
  /**
364
84
  * Socket.IO type definitions derived from DocSync events.
365
85
  */
366
- type ClientToServerEvents<S, O> = {
367
- [K in DocSyncEventName]: (payload: DocSyncEvents<S, O>[K]["request"], cb: (res: DocSyncEvents<S, O>[K]["response"]) => void) => void;
86
+ export type ClientToServerEvents<S, O> = {
87
+ sync: SyncHandler<S, O>;
88
+ presence: PresenceHandler;
89
+ "delete-doc": DeleteDocHandler;
90
+ "unsubscribe-doc": UnsubscribeDocHandler;
368
91
  };
369
- type ServerToClientEvents = {
92
+ export type ServerToClientEvents = {
370
93
  dirty: (payload: {
371
94
  docId: string;
372
95
  }) => void;
@@ -375,13 +98,4 @@ type ServerToClientEvents = {
375
98
  presence: Presence;
376
99
  }) => void;
377
100
  };
378
- export type ServerSocket<S, O> = import("socket.io").Server<ClientToServerEvents<S, O>, ServerToClientEvents>;
379
- export type ClientSocket<S, O> = import("socket.io-client").Socket<ServerToClientEvents, ClientToServerEvents<S, O>>;
380
- /**
381
- * Server socket event handlers type - TypeScript errors if any event is missing.
382
- */
383
- export type SocketHandlers<S, O> = {
384
- [K in DocSyncEventName]: (payload: DocSyncEvents<S, O>[K]["request"], cb: (res: DocSyncEvents<S, O>[K]["response"]) => void) => void | Promise<void>;
385
- };
386
- export {};
387
101
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,2 @@
1
- // TODO: review this line! Importing socket.io and socket.io-client
2
- // as dynamic imports produces environment pollution errors.
3
- /* eslint-disable @typescript-eslint/consistent-type-imports */
4
1
  export {};
5
- // #endregion
6
2
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shared/types.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,4DAA4D;AAC5D,+DAA+D;;AAqf/D,aAAa"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shared/types.ts"],"names":[],"mappings":""}