document-drive 1.19.1 → 1.20.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 (252) hide show
  1. package/README.md +4 -0
  2. package/dist/index.d.ts +28 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +18 -0
  5. package/dist/src/cache/memory.d.ts +10 -0
  6. package/dist/src/cache/memory.d.ts.map +1 -0
  7. package/dist/src/cache/memory.js +26 -0
  8. package/dist/src/cache/redis.d.ts +14 -0
  9. package/dist/src/cache/redis.d.ts.map +1 -0
  10. package/dist/src/cache/redis.js +40 -0
  11. package/dist/src/cache/types.d.ts +7 -0
  12. package/dist/src/cache/types.d.ts.map +1 -0
  13. package/dist/src/cache/types.js +1 -0
  14. package/dist/src/drive-document-model/constants.d.ts +2 -0
  15. package/dist/src/drive-document-model/constants.d.ts.map +1 -0
  16. package/dist/src/drive-document-model/constants.js +1 -0
  17. package/dist/src/drive-document-model/gen/actions.d.ts +7 -0
  18. package/dist/src/drive-document-model/gen/actions.d.ts.map +1 -0
  19. package/dist/src/drive-document-model/gen/actions.js +2 -0
  20. package/dist/src/drive-document-model/gen/constants.d.ts +7 -0
  21. package/dist/src/drive-document-model/gen/constants.d.ts.map +1 -0
  22. package/dist/src/drive-document-model/gen/constants.js +16 -0
  23. package/dist/src/drive-document-model/gen/creators.d.ts +3 -0
  24. package/dist/src/drive-document-model/gen/creators.d.ts.map +1 -0
  25. package/dist/src/drive-document-model/gen/creators.js +2 -0
  26. package/dist/src/drive-document-model/gen/document-model.d.ts +3 -0
  27. package/dist/src/drive-document-model/gen/document-model.d.ts.map +1 -0
  28. package/dist/src/drive-document-model/gen/document-model.js +210 -0
  29. package/dist/src/drive-document-model/gen/drive/actions.d.ts +12 -0
  30. package/dist/src/drive-document-model/gen/drive/actions.d.ts.map +1 -0
  31. package/dist/src/drive-document-model/gen/drive/actions.js +1 -0
  32. package/dist/src/drive-document-model/gen/drive/creators.d.ts +11 -0
  33. package/dist/src/drive-document-model/gen/drive/creators.d.ts.map +1 -0
  34. package/dist/src/drive-document-model/gen/drive/creators.js +10 -0
  35. package/dist/src/drive-document-model/gen/drive/error.d.ts +2 -0
  36. package/dist/src/drive-document-model/gen/drive/error.d.ts.map +1 -0
  37. package/dist/src/drive-document-model/gen/drive/error.js +1 -0
  38. package/dist/src/drive-document-model/gen/drive/object.d.ts +14 -0
  39. package/dist/src/drive-document-model/gen/drive/object.d.ts.map +1 -0
  40. package/dist/src/drive-document-model/gen/drive/object.js +28 -0
  41. package/dist/src/drive-document-model/gen/drive/operations.d.ts +14 -0
  42. package/dist/src/drive-document-model/gen/drive/operations.d.ts.map +1 -0
  43. package/dist/src/drive-document-model/gen/drive/operations.js +1 -0
  44. package/dist/src/drive-document-model/gen/node/actions.d.ts +11 -0
  45. package/dist/src/drive-document-model/gen/node/actions.d.ts.map +1 -0
  46. package/dist/src/drive-document-model/gen/node/actions.js +1 -0
  47. package/dist/src/drive-document-model/gen/node/creators.d.ts +10 -0
  48. package/dist/src/drive-document-model/gen/node/creators.d.ts.map +1 -0
  49. package/dist/src/drive-document-model/gen/node/creators.js +9 -0
  50. package/dist/src/drive-document-model/gen/node/error.d.ts +2 -0
  51. package/dist/src/drive-document-model/gen/node/error.d.ts.map +1 -0
  52. package/dist/src/drive-document-model/gen/node/error.js +1 -0
  53. package/dist/src/drive-document-model/gen/node/object.d.ts +13 -0
  54. package/dist/src/drive-document-model/gen/node/object.d.ts.map +1 -0
  55. package/dist/src/drive-document-model/gen/node/object.js +25 -0
  56. package/dist/src/drive-document-model/gen/node/operations.d.ts +13 -0
  57. package/dist/src/drive-document-model/gen/node/operations.d.ts.map +1 -0
  58. package/dist/src/drive-document-model/gen/node/operations.js +1 -0
  59. package/dist/src/drive-document-model/gen/object.d.ts +21 -0
  60. package/dist/src/drive-document-model/gen/object.d.ts.map +1 -0
  61. package/dist/src/drive-document-model/gen/object.js +28 -0
  62. package/dist/src/drive-document-model/gen/reducer.d.ts +4 -0
  63. package/dist/src/drive-document-model/gen/reducer.d.ts.map +1 -0
  64. package/dist/src/drive-document-model/gen/reducer.js +74 -0
  65. package/dist/src/drive-document-model/gen/schema/types.d.ts +176 -0
  66. package/dist/src/drive-document-model/gen/schema/types.d.ts.map +1 -0
  67. package/dist/src/drive-document-model/gen/schema/types.js +1 -0
  68. package/dist/src/drive-document-model/gen/schema/zod.d.ts +87 -0
  69. package/dist/src/drive-document-model/gen/schema/zod.d.ts.map +1 -0
  70. package/dist/src/drive-document-model/gen/schema/zod.js +203 -0
  71. package/dist/src/drive-document-model/gen/types.d.ts +9 -0
  72. package/dist/src/drive-document-model/gen/types.d.ts.map +1 -0
  73. package/dist/src/drive-document-model/gen/types.js +1 -0
  74. package/dist/src/drive-document-model/gen/utils.d.ts +10 -0
  75. package/dist/src/drive-document-model/gen/utils.d.ts.map +1 -0
  76. package/dist/src/drive-document-model/gen/utils.js +27 -0
  77. package/dist/src/drive-document-model/index.d.ts +2 -0
  78. package/dist/src/drive-document-model/index.d.ts.map +1 -0
  79. package/dist/src/drive-document-model/index.js +1 -0
  80. package/dist/src/drive-document-model/module.d.ts +3 -0
  81. package/dist/src/drive-document-model/module.d.ts.map +1 -0
  82. package/dist/src/drive-document-model/module.js +12 -0
  83. package/dist/src/drive-document-model/src/reducers/drive.d.ts +8 -0
  84. package/dist/src/drive-document-model/src/reducers/drive.d.ts.map +1 -0
  85. package/dist/src/drive-document-model/src/reducers/drive.js +37 -0
  86. package/dist/src/drive-document-model/src/reducers/node.d.ts +8 -0
  87. package/dist/src/drive-document-model/src/reducers/node.d.ts.map +1 -0
  88. package/dist/src/drive-document-model/src/reducers/node.js +185 -0
  89. package/dist/src/drive-document-model/src/utils.d.ts +34 -0
  90. package/dist/src/drive-document-model/src/utils.d.ts.map +1 -0
  91. package/dist/src/drive-document-model/src/utils.js +146 -0
  92. package/dist/src/queue/base.d.ts +43 -0
  93. package/dist/src/queue/base.d.ts.map +1 -0
  94. package/dist/src/queue/base.js +241 -0
  95. package/dist/src/queue/redis.d.ts +28 -0
  96. package/dist/src/queue/redis.d.ts.map +1 -0
  97. package/dist/src/queue/redis.js +110 -0
  98. package/dist/src/queue/types.d.ts +55 -0
  99. package/dist/src/queue/types.d.ts.map +1 -0
  100. package/dist/src/queue/types.js +6 -0
  101. package/dist/src/read-mode/errors.d.ts +12 -0
  102. package/dist/src/read-mode/errors.d.ts.map +1 -0
  103. package/dist/src/read-mode/errors.js +17 -0
  104. package/dist/src/read-mode/server.d.ts +4 -0
  105. package/dist/src/read-mode/server.d.ts.map +1 -0
  106. package/dist/src/read-mode/server.js +78 -0
  107. package/dist/src/read-mode/service.d.ts +18 -0
  108. package/dist/src/read-mode/service.d.ts.map +1 -0
  109. package/dist/src/read-mode/service.js +112 -0
  110. package/dist/src/read-mode/types.d.ts +35 -0
  111. package/dist/src/read-mode/types.d.ts.map +1 -0
  112. package/dist/src/read-mode/types.js +1 -0
  113. package/dist/src/server/base-server.d.ts +112 -0
  114. package/dist/src/server/base-server.d.ts.map +1 -0
  115. package/dist/src/server/base-server.js +1280 -0
  116. package/dist/src/server/builder.d.ts +30 -0
  117. package/dist/src/server/builder.d.ts.map +1 -0
  118. package/dist/src/server/builder.js +89 -0
  119. package/dist/src/server/constants.d.ts +2 -0
  120. package/dist/src/server/constants.d.ts.map +1 -0
  121. package/dist/src/server/constants.js +1 -0
  122. package/dist/src/server/error.d.ts +30 -0
  123. package/dist/src/server/error.d.ts.map +1 -0
  124. package/dist/src/server/error.js +47 -0
  125. package/dist/src/server/event-emitter.d.ts +8 -0
  126. package/dist/src/server/event-emitter.d.ts.map +1 -0
  127. package/dist/src/server/event-emitter.js +10 -0
  128. package/dist/src/server/listener/index.d.ts +2 -0
  129. package/dist/src/server/listener/index.d.ts.map +1 -0
  130. package/dist/src/server/listener/index.js +1 -0
  131. package/dist/src/server/listener/listener-manager.d.ts +27 -0
  132. package/dist/src/server/listener/listener-manager.d.ts.map +1 -0
  133. package/dist/src/server/listener/listener-manager.js +401 -0
  134. package/dist/src/server/listener/transmitter/factory.d.ts +8 -0
  135. package/dist/src/server/listener/transmitter/factory.d.ts.map +1 -0
  136. package/dist/src/server/listener/transmitter/factory.js +25 -0
  137. package/dist/src/server/listener/transmitter/internal.d.ts +34 -0
  138. package/dist/src/server/listener/transmitter/internal.d.ts.map +1 -0
  139. package/dist/src/server/listener/transmitter/internal.js +87 -0
  140. package/dist/src/server/listener/transmitter/pull-responder.d.ts +38 -0
  141. package/dist/src/server/listener/transmitter/pull-responder.d.ts.map +1 -0
  142. package/dist/src/server/listener/transmitter/pull-responder.js +256 -0
  143. package/dist/src/server/listener/transmitter/switchboard-push.d.ts +9 -0
  144. package/dist/src/server/listener/transmitter/switchboard-push.d.ts.map +1 -0
  145. package/dist/src/server/listener/transmitter/switchboard-push.js +77 -0
  146. package/dist/src/server/listener/transmitter/types.d.ts +20 -0
  147. package/dist/src/server/listener/transmitter/types.d.ts.map +1 -0
  148. package/dist/src/server/listener/transmitter/types.js +1 -0
  149. package/dist/src/server/listener/util.d.ts +2 -0
  150. package/dist/src/server/listener/util.d.ts.map +1 -0
  151. package/dist/src/server/listener/util.js +22 -0
  152. package/dist/src/server/sync-manager.d.ts +30 -0
  153. package/dist/src/server/sync-manager.d.ts.map +1 -0
  154. package/dist/src/server/sync-manager.js +287 -0
  155. package/dist/src/server/types.d.ts +308 -0
  156. package/dist/src/server/types.d.ts.map +1 -0
  157. package/dist/src/server/types.js +12 -0
  158. package/dist/src/server/utils.d.ts +8 -0
  159. package/dist/src/server/utils.d.ts.map +1 -0
  160. package/dist/src/server/utils.js +47 -0
  161. package/dist/src/storage/base.d.ts +36 -0
  162. package/dist/src/storage/base.d.ts.map +1 -0
  163. package/dist/src/storage/base.js +4 -0
  164. package/dist/src/storage/browser.d.ts +36 -0
  165. package/dist/src/storage/browser.d.ts.map +1 -0
  166. package/dist/src/storage/browser.js +155 -0
  167. package/dist/src/storage/filesystem.d.ts +33 -0
  168. package/dist/src/storage/filesystem.d.ts.map +1 -0
  169. package/dist/src/storage/filesystem.js +197 -0
  170. package/dist/src/storage/memory.d.ts +33 -0
  171. package/dist/src/storage/memory.d.ts.map +1 -0
  172. package/dist/src/storage/memory.js +139 -0
  173. package/dist/src/storage/prisma.d.ts +67 -0
  174. package/dist/src/storage/prisma.d.ts.map +1 -0
  175. package/dist/src/storage/prisma.js +445 -0
  176. package/dist/src/storage/sequelize.d.ts +32 -0
  177. package/dist/src/storage/sequelize.d.ts.map +1 -0
  178. package/dist/src/storage/sequelize.js +373 -0
  179. package/dist/src/storage/types.d.ts +43 -0
  180. package/dist/src/storage/types.d.ts.map +1 -0
  181. package/dist/src/storage/types.js +1 -0
  182. package/dist/src/utils/default-drives-manager.d.ts +29 -0
  183. package/dist/src/utils/default-drives-manager.d.ts.map +1 -0
  184. package/dist/src/utils/default-drives-manager.js +208 -0
  185. package/dist/src/utils/graphql.d.ts +34 -0
  186. package/dist/src/utils/graphql.d.ts.map +1 -0
  187. package/dist/src/utils/graphql.js +183 -0
  188. package/dist/src/utils/logger.d.ts +27 -0
  189. package/dist/src/utils/logger.d.ts.map +1 -0
  190. package/dist/src/utils/logger.js +105 -0
  191. package/dist/src/utils/migrations.d.ts +4 -0
  192. package/dist/src/utils/migrations.d.ts.map +1 -0
  193. package/dist/src/utils/migrations.js +41 -0
  194. package/dist/src/utils/misc.d.ts +11 -0
  195. package/dist/src/utils/misc.d.ts.map +1 -0
  196. package/dist/src/utils/misc.js +43 -0
  197. package/dist/src/utils/run-asap.d.ts +12 -0
  198. package/dist/src/utils/run-asap.d.ts.map +1 -0
  199. package/dist/src/utils/run-asap.js +131 -0
  200. package/dist/test/document-helpers/utils.d.ts +8 -0
  201. package/dist/test/document-helpers/utils.d.ts.map +1 -0
  202. package/dist/test/document-helpers/utils.js +21 -0
  203. package/dist/test/utils.d.ts +48 -0
  204. package/dist/test/utils.d.ts.map +1 -0
  205. package/dist/test/utils.js +132 -0
  206. package/dist/test/vitest-setup.d.ts +2 -0
  207. package/dist/test/vitest-setup.d.ts.map +1 -0
  208. package/dist/test/vitest-setup.js +4 -0
  209. package/dist/tsconfig.tsbuildinfo +1 -0
  210. package/dist/vitest.config.d.ts +3 -0
  211. package/dist/vitest.config.d.ts.map +1 -0
  212. package/dist/vitest.config.js +20 -0
  213. package/package.json +20 -38
  214. package/src/cache/index.ts +0 -2
  215. package/src/cache/memory.ts +0 -33
  216. package/src/cache/redis.ts +0 -56
  217. package/src/cache/types.ts +0 -9
  218. package/src/index.ts +0 -4
  219. package/src/queue/base.ts +0 -320
  220. package/src/queue/index.ts +0 -2
  221. package/src/queue/redis.ts +0 -144
  222. package/src/queue/types.ts +0 -79
  223. package/src/read-mode/errors.ts +0 -19
  224. package/src/read-mode/index.ts +0 -125
  225. package/src/read-mode/service.ts +0 -207
  226. package/src/read-mode/types.ts +0 -108
  227. package/src/server/error.ts +0 -70
  228. package/src/server/index.ts +0 -2444
  229. package/src/server/listener/index.ts +0 -2
  230. package/src/server/listener/manager.ts +0 -652
  231. package/src/server/listener/transmitter/index.ts +0 -4
  232. package/src/server/listener/transmitter/internal.ts +0 -143
  233. package/src/server/listener/transmitter/pull-responder.ts +0 -462
  234. package/src/server/listener/transmitter/switchboard-push.ts +0 -125
  235. package/src/server/listener/transmitter/types.ts +0 -27
  236. package/src/server/types.ts +0 -596
  237. package/src/server/utils.ts +0 -82
  238. package/src/storage/base.ts +0 -81
  239. package/src/storage/browser.ts +0 -238
  240. package/src/storage/filesystem.ts +0 -297
  241. package/src/storage/index.ts +0 -2
  242. package/src/storage/memory.ts +0 -211
  243. package/src/storage/prisma.ts +0 -653
  244. package/src/storage/sequelize.ts +0 -498
  245. package/src/storage/types.ts +0 -97
  246. package/src/utils/default-drives-manager.ts +0 -341
  247. package/src/utils/document-helpers.ts +0 -21
  248. package/src/utils/graphql.ts +0 -301
  249. package/src/utils/index.ts +0 -90
  250. package/src/utils/logger.ts +0 -38
  251. package/src/utils/migrations.ts +0 -58
  252. package/src/utils/run-asap.ts +0 -156
@@ -0,0 +1,30 @@
1
+ import { ICache } from "#cache/types";
2
+ import { IQueueManager } from "#queue/types";
3
+ import { IDriveStorage } from "#storage/types";
4
+ import { DocumentModelModule } from "document-model";
5
+ import { DocumentDriveServerOptions, IEventEmitter, IListenerManager, ISynchronizationManager, ITransmitterFactory } from "./types.js";
6
+ /**
7
+ * Builder class for constructing Reactor instances with proper configuration
8
+ */
9
+ export declare class ReactorBuilder {
10
+ private documentModelModules;
11
+ private storage?;
12
+ private cache?;
13
+ private queueManager?;
14
+ private eventEmitter?;
15
+ private options?;
16
+ private synchronizationManager?;
17
+ private listenerManager?;
18
+ private transmitterFactory?;
19
+ constructor(documentModelModules: DocumentModelModule[]);
20
+ withStorage(storage: IDriveStorage): this;
21
+ withCache(cache: ICache): this;
22
+ withQueueManager(queueManager: IQueueManager): this;
23
+ withEventEmitter(eventEmitter: IEventEmitter): this;
24
+ withSynchronizationManager(synchronizationManager: ISynchronizationManager): this;
25
+ withListenerManager(listenerManager: IListenerManager): this;
26
+ withTransmitterFactory(transmitterFactory: ITransmitterFactory): this;
27
+ withOptions(options: DocumentDriveServerOptions): this;
28
+ build(): import("./base-server.js").BaseDocumentDriveServer & import("../read-mode/types.js").IReadModeDriveServer;
29
+ }
30
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/server/builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAMrD,OAAO,EAEL,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,oBAAoB,CAA6B;IAEzD,OAAO,CAAC,OAAO,CAAC,CAAgB;IAChC,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,YAAY,CAAC,CAAgB;IACrC,OAAO,CAAC,YAAY,CAAC,CAAgB;IACrC,OAAO,CAAC,OAAO,CAAC,CAA6B;IAC7C,OAAO,CAAC,sBAAsB,CAAC,CAA0B;IACzD,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,kBAAkB,CAAC,CAAsB;gBAErC,oBAAoB,EAAE,mBAAmB,EAAE;IAIhD,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAKzC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B,gBAAgB,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI;IAKnD,gBAAgB,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI;IAKnD,0BAA0B,CAC/B,sBAAsB,EAAE,uBAAuB,GAC9C,IAAI;IAKA,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,GAAG,IAAI;IAK5D,sBAAsB,CAAC,kBAAkB,EAAE,mBAAmB,GAAG,IAAI;IAKrE,WAAW,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAKtD,KAAK;CA0Db"}
@@ -0,0 +1,89 @@
1
+ import InMemoryCache from "#cache/memory";
2
+ import { BaseQueueManager } from "#queue/base";
3
+ import { MemoryStorage } from "#storage/memory";
4
+ import { DocumentDriveServer } from "./base-server.js";
5
+ import { DefaultEventEmitter } from "./event-emitter.js";
6
+ import { ListenerManager } from "./listener/listener-manager.js";
7
+ import TransmitterFactory from "./listener/transmitter/factory.js";
8
+ import SynchronizationManager from "./sync-manager.js";
9
+ import { DefaultListenerManagerOptions, } from "./types.js";
10
+ /**
11
+ * Builder class for constructing Reactor instances with proper configuration
12
+ */
13
+ export class ReactorBuilder {
14
+ documentModelModules = [];
15
+ storage;
16
+ cache;
17
+ queueManager;
18
+ eventEmitter;
19
+ options;
20
+ synchronizationManager;
21
+ listenerManager;
22
+ transmitterFactory;
23
+ constructor(documentModelModules) {
24
+ this.documentModelModules = documentModelModules;
25
+ }
26
+ withStorage(storage) {
27
+ this.storage = storage;
28
+ return this;
29
+ }
30
+ withCache(cache) {
31
+ this.cache = cache;
32
+ return this;
33
+ }
34
+ withQueueManager(queueManager) {
35
+ this.queueManager = queueManager;
36
+ return this;
37
+ }
38
+ withEventEmitter(eventEmitter) {
39
+ this.eventEmitter = eventEmitter;
40
+ return this;
41
+ }
42
+ withSynchronizationManager(synchronizationManager) {
43
+ this.synchronizationManager = synchronizationManager;
44
+ return this;
45
+ }
46
+ withListenerManager(listenerManager) {
47
+ this.listenerManager = listenerManager;
48
+ return this;
49
+ }
50
+ withTransmitterFactory(transmitterFactory) {
51
+ this.transmitterFactory = transmitterFactory;
52
+ return this;
53
+ }
54
+ withOptions(options) {
55
+ this.options = options;
56
+ return this;
57
+ }
58
+ build() {
59
+ if (!this.documentModelModules.length) {
60
+ throw new Error("Document models are required to build the server");
61
+ }
62
+ if (!this.storage) {
63
+ this.storage = new MemoryStorage();
64
+ }
65
+ if (!this.cache) {
66
+ this.cache = new InMemoryCache();
67
+ }
68
+ if (!this.queueManager) {
69
+ this.queueManager = new BaseQueueManager();
70
+ }
71
+ if (!this.eventEmitter) {
72
+ this.eventEmitter = new DefaultEventEmitter();
73
+ }
74
+ if (!this.synchronizationManager) {
75
+ this.synchronizationManager = new SynchronizationManager(this.storage, this.cache, this.documentModelModules, this.eventEmitter);
76
+ }
77
+ if (!this.listenerManager) {
78
+ const config = {
79
+ ...DefaultListenerManagerOptions,
80
+ ...this.options?.listenerManager,
81
+ };
82
+ this.listenerManager = new ListenerManager(this.synchronizationManager, config);
83
+ }
84
+ if (!this.transmitterFactory) {
85
+ this.transmitterFactory = new TransmitterFactory(this.listenerManager);
86
+ }
87
+ return new DocumentDriveServer(this.documentModelModules, this.storage, this.cache, this.queueManager, this.eventEmitter, this.synchronizationManager, this.listenerManager, this.transmitterFactory, this.options);
88
+ }
89
+ }
@@ -0,0 +1,2 @@
1
+ export declare const PULL_DRIVE_INTERVAL = 5000;
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/server/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,OAAO,CAAC"}
@@ -0,0 +1 @@
1
+ export const PULL_DRIVE_INTERVAL = 5000;
@@ -0,0 +1,30 @@
1
+ import type { Operation } from "document-model";
2
+ import { ErrorStatus } from "./types.js";
3
+ export declare class DocumentModelNotFoundError extends Error {
4
+ id: string;
5
+ constructor(id: string, cause?: unknown);
6
+ }
7
+ export declare class OperationError extends Error {
8
+ status: ErrorStatus;
9
+ operation: Operation | undefined;
10
+ constructor(status: ErrorStatus, operation?: Operation, message?: string, cause?: unknown);
11
+ }
12
+ export declare class ConflictOperationError extends OperationError {
13
+ constructor(existingOperation: Operation, newOperation: Operation);
14
+ }
15
+ export declare class MissingOperationError extends OperationError {
16
+ constructor(index: number, operation: Operation);
17
+ }
18
+ export declare class DriveAlreadyExistsError extends Error {
19
+ driveId: string;
20
+ constructor(driveId: string);
21
+ }
22
+ export declare class DriveNotFoundError extends Error {
23
+ driveId: string;
24
+ constructor(driveId: string);
25
+ }
26
+ export declare class SynchronizationUnitNotFoundError extends Error {
27
+ syncUnitId: string;
28
+ constructor(message: string, syncUnitId: string);
29
+ }
30
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/server/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,qBAAa,0BAA2B,SAAQ,KAAK;IAE1C,EAAE,EAAE,MAAM;gBAAV,EAAE,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,OAAO;CAIlB;AACD,qBAAa,cAAe,SAAQ,KAAK;IACvC,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;gBAG/B,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,OAAO;CAMlB;AAED,qBAAa,sBAAuB,SAAQ,cAAc;gBAC5C,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS;CAQlE;AAED,qBAAa,qBAAsB,SAAQ,cAAc;gBAC3C,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;CAGhD;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,OAAO,EAAE,MAAM,CAAC;gBAEJ,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,OAAO,EAAE,MAAM,CAAC;gBAEJ,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,UAAU,EAAE,MAAM,CAAC;gBAEP,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAIhD"}
@@ -0,0 +1,47 @@
1
+ export class DocumentModelNotFoundError extends Error {
2
+ id;
3
+ constructor(id, cause) {
4
+ super(`Document model "${id}" not found`, { cause });
5
+ this.id = id;
6
+ }
7
+ }
8
+ export class OperationError extends Error {
9
+ status;
10
+ operation;
11
+ constructor(status, operation, message, cause) {
12
+ super(message, { cause: cause ?? operation });
13
+ this.status = status;
14
+ this.operation = operation;
15
+ }
16
+ }
17
+ export class ConflictOperationError extends OperationError {
18
+ constructor(existingOperation, newOperation) {
19
+ super("CONFLICT", newOperation, `Conflicting operation on index ${newOperation.index}`, { existingOperation, newOperation });
20
+ }
21
+ }
22
+ export class MissingOperationError extends OperationError {
23
+ constructor(index, operation) {
24
+ super("MISSING", operation, `Missing operation on index ${index}`);
25
+ }
26
+ }
27
+ export class DriveAlreadyExistsError extends Error {
28
+ driveId;
29
+ constructor(driveId) {
30
+ super(`Drive already exists. ID: ${driveId}`);
31
+ this.driveId = driveId;
32
+ }
33
+ }
34
+ export class DriveNotFoundError extends Error {
35
+ driveId;
36
+ constructor(driveId) {
37
+ super(`Drive with id ${driveId} not found`);
38
+ this.driveId = driveId;
39
+ }
40
+ }
41
+ export class SynchronizationUnitNotFoundError extends Error {
42
+ syncUnitId;
43
+ constructor(message, syncUnitId) {
44
+ super(message);
45
+ this.syncUnitId = syncUnitId;
46
+ }
47
+ }
@@ -0,0 +1,8 @@
1
+ import { Unsubscribe } from "nanoevents";
2
+ import { DriveEvents, IEventEmitter } from "./types.js";
3
+ export declare class DefaultEventEmitter implements IEventEmitter {
4
+ private emitter;
5
+ emit<K extends keyof DriveEvents>(event: K, ...args: Parameters<DriveEvents[K]>): void;
6
+ on<K extends keyof DriveEvents>(event: K, cb: DriveEvents[K]): Unsubscribe;
7
+ }
8
+ //# sourceMappingURL=event-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../../../src/server/event-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAExD,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,OAAO,CAAmC;IAElD,IAAI,CAAC,CAAC,SAAS,MAAM,WAAW,EAC9B,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAClC,IAAI;IAIP,EAAE,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW;CAG3E"}
@@ -0,0 +1,10 @@
1
+ import { createNanoEvents } from "nanoevents";
2
+ export class DefaultEventEmitter {
3
+ emitter = createNanoEvents();
4
+ emit(event, ...args) {
5
+ return this.emitter.emit(event, ...args);
6
+ }
7
+ on(event, cb) {
8
+ return this.emitter.on(event, cb);
9
+ }
10
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./listener-manager.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/listener/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./listener-manager.js";
@@ -0,0 +1,27 @@
1
+ import { StrandUpdateSource } from "#server/listener/transmitter/types";
2
+ import { DriveUpdateErrorHandler, GetStrandsOptions, IListenerManager, ISynchronizationManager, Listener, ListenerManagerOptions, ListenerState, ListenerUpdate, StrandUpdate, SynchronizationUnit, SynchronizationUnitQuery } from "#server/types";
3
+ export declare class ListenerManager implements IListenerManager {
4
+ static LISTENER_UPDATE_DELAY: number;
5
+ protected logger: import("../../utils/logger.js").ConsoleLogger;
6
+ protected syncManager: ISynchronizationManager;
7
+ protected options: ListenerManagerOptions;
8
+ protected listenerStateByDriveId: Map<string, Map<string, ListenerState>>;
9
+ constructor(syncManager: ISynchronizationManager, options?: ListenerManagerOptions);
10
+ initialize(handler: DriveUpdateErrorHandler): Promise<void>;
11
+ driveHasListeners(driveId: string): boolean;
12
+ setListener(driveId: string, listener: Listener): Promise<void>;
13
+ removeListener(driveId: string, listenerId: string): Promise<boolean>;
14
+ removeSyncUnits(driveId: string, syncUnits: Pick<SynchronizationUnit, "syncId">[]): Promise<void>;
15
+ updateSynchronizationRevisions(driveId: string, syncUnits: SynchronizationUnit[], source: StrandUpdateSource, willUpdate?: (listeners: Listener[]) => void, onError?: (error: Error, driveId: string, listener: ListenerState) => void, forceSync?: boolean): Promise<ListenerUpdate[]>;
16
+ updateListenerRevision(listenerId: string, driveId: string, syncId: string, listenerRev: number): Promise<void>;
17
+ triggerUpdate: (immediate: boolean, source: StrandUpdateSource, onError?: ((error: Error, driveId: string, listener: ListenerState) => void) | undefined, maxContinues?: number | undefined) => Promise<ListenerUpdate[]>;
18
+ private _triggerUpdate;
19
+ private _checkFilter;
20
+ getListenerSyncUnits(driveId: string, listenerId: string): never[] | Promise<SynchronizationUnit[]>;
21
+ getListenerSyncUnitIds(driveId: string, listenerId: string): Promise<SynchronizationUnitQuery[]>;
22
+ removeDrive(driveId: string): Promise<void>;
23
+ getStrands(driveId: string, listenerId: string, options?: GetStrandsOptions): Promise<StrandUpdate[]>;
24
+ getListenerState(driveId: string, listenerId: string): ListenerState;
25
+ setListenerState(driveId: string, listenerId: string, listenerState: ListenerState): void;
26
+ }
27
+ //# sourceMappingURL=listener-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listener-manager.d.ts","sourceRoot":"","sources":["../../../../src/server/listener/listener-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAEL,uBAAuB,EAEvB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,QAAQ,EACR,sBAAsB,EACtB,aAAa,EACb,cAAc,EAEd,YAAY,EACZ,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,eAAe,CAAC;AAQvB,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,MAAM,CAAC,qBAAqB,SAAO;IAEnC,SAAS,CAAC,MAAM,gDAGb;IAEH,SAAS,CAAC,WAAW,EAAE,uBAAuB,CAAC;IAC/C,SAAS,CAAC,OAAO,EAAE,sBAAsB,CAAC;IAG1C,SAAS,CAAC,sBAAsB,0CAG5B;gBAGF,WAAW,EAAE,uBAAuB,EACpC,OAAO,GAAE,sBAAsD;IAQ3D,UAAU,CAAC,OAAO,EAAE,uBAAuB;IAcjD,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAI3B,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IA+B/C,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAWlD,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,EAAE,GAC/C,OAAO,CAAC,IAAI,CAAC;IAaV,8BAA8B,CAClC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,mBAAmB,EAAE,EAChC,MAAM,EAAE,kBAAkB,EAC1B,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,EAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,KAAK,IAAI,EAC1E,SAAS,UAAQ;IA2Cb,sBAAsB,CAC1B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAuBhB,aAAa,sEAOO,KAAK,WAAW,MAAM,YAAY,aAAa,KAAK,IAAI,+EAJ1E;YAEY,cAAc;IA8N5B,OAAO,CAAC,YAAY;IAsBpB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAexD,sBAAsB,CACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAehC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB3C,UAAU,CACd,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,YAAY,EAAE,CAAC;IAoE1B,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAepD,gBAAgB,CACd,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,aAAa;CAU/B"}