@powerhousedao/reactor 6.0.0-dev.9 → 6.0.0-dev.91

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 (383) hide show
  1. package/dist/src/admin/document-integrity-service.d.ts +17 -0
  2. package/dist/src/admin/document-integrity-service.d.ts.map +1 -0
  3. package/dist/src/admin/types.d.ts +30 -0
  4. package/dist/src/admin/types.d.ts.map +1 -0
  5. package/dist/src/cache/collection-membership-cache.d.ts +14 -0
  6. package/dist/src/cache/collection-membership-cache.d.ts.map +1 -0
  7. package/dist/src/cache/document-meta-cache.d.ts +1 -0
  8. package/dist/src/cache/document-meta-cache.d.ts.map +1 -1
  9. package/dist/src/cache/kysely-operation-index.d.ts +11 -2
  10. package/dist/src/cache/kysely-operation-index.d.ts.map +1 -1
  11. package/dist/src/cache/kysely-write-cache.d.ts +10 -2
  12. package/dist/src/cache/kysely-write-cache.d.ts.map +1 -1
  13. package/dist/src/cache/operation-index-types.d.ts +16 -2
  14. package/dist/src/cache/operation-index-types.d.ts.map +1 -1
  15. package/dist/src/cache/write/interfaces.d.ts +7 -2
  16. package/dist/src/cache/write/interfaces.d.ts.map +1 -1
  17. package/dist/src/client/reactor-client.d.ts +13 -10
  18. package/dist/src/client/reactor-client.d.ts.map +1 -1
  19. package/dist/src/client/types.d.ts +25 -6
  20. package/dist/src/client/types.d.ts.map +1 -1
  21. package/dist/src/core/reactor-builder.d.ts +23 -10
  22. package/dist/src/core/reactor-builder.d.ts.map +1 -1
  23. package/dist/src/core/reactor-client-builder.d.ts +8 -4
  24. package/dist/src/core/reactor-client-builder.d.ts.map +1 -1
  25. package/dist/src/core/reactor.d.ts +20 -80
  26. package/dist/src/core/reactor.d.ts.map +1 -1
  27. package/dist/src/core/types.d.ts +64 -28
  28. package/dist/src/core/types.d.ts.map +1 -1
  29. package/dist/src/core/utils.d.ts +39 -3
  30. package/dist/src/core/utils.d.ts.map +1 -1
  31. package/dist/src/events/types.d.ts +35 -10
  32. package/dist/src/events/types.d.ts.map +1 -1
  33. package/dist/src/executor/document-action-handler.d.ts +30 -0
  34. package/dist/src/executor/document-action-handler.d.ts.map +1 -0
  35. package/dist/src/executor/execution-scope.d.ts +44 -0
  36. package/dist/src/executor/execution-scope.d.ts.map +1 -0
  37. package/dist/src/executor/signature-verifier.d.ts +9 -0
  38. package/dist/src/executor/signature-verifier.d.ts.map +1 -0
  39. package/dist/src/executor/simple-job-executor-manager.d.ts +6 -1
  40. package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -1
  41. package/dist/src/executor/simple-job-executor.d.ts +8 -46
  42. package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
  43. package/dist/src/executor/types.d.ts +1 -3
  44. package/dist/src/executor/types.d.ts.map +1 -1
  45. package/dist/src/executor/util.d.ts +12 -2
  46. package/dist/src/executor/util.d.ts.map +1 -1
  47. package/dist/src/index.d.ts +13 -9
  48. package/dist/src/index.d.ts.map +1 -1
  49. package/dist/src/index.js +20575 -61
  50. package/dist/src/job-tracker/in-memory-job-tracker.d.ts +4 -3
  51. package/dist/src/job-tracker/in-memory-job-tracker.d.ts.map +1 -1
  52. package/dist/src/job-tracker/interfaces.d.ts +3 -1
  53. package/dist/src/job-tracker/interfaces.d.ts.map +1 -1
  54. package/dist/src/logging/console.d.ts +1 -22
  55. package/dist/src/logging/console.d.ts.map +1 -1
  56. package/dist/src/logging/types.d.ts +1 -11
  57. package/dist/src/logging/types.d.ts.map +1 -1
  58. package/dist/src/processors/index.d.ts +0 -1
  59. package/dist/src/processors/index.d.ts.map +1 -1
  60. package/dist/src/processors/processor-manager.d.ts +19 -6
  61. package/dist/src/processors/processor-manager.d.ts.map +1 -1
  62. package/dist/src/processors/utils.d.ts +3 -2
  63. package/dist/src/processors/utils.d.ts.map +1 -1
  64. package/dist/src/queue/job-execution-handle.d.ts +3 -0
  65. package/dist/src/queue/job-execution-handle.d.ts.map +1 -1
  66. package/dist/src/queue/queue.d.ts +30 -1
  67. package/dist/src/queue/queue.d.ts.map +1 -1
  68. package/dist/src/queue/types.d.ts +4 -3
  69. package/dist/src/queue/types.d.ts.map +1 -1
  70. package/dist/src/read-models/base-read-model.d.ts +11 -9
  71. package/dist/src/read-models/base-read-model.d.ts.map +1 -1
  72. package/dist/src/read-models/coordinator.d.ts +2 -2
  73. package/dist/src/read-models/coordinator.d.ts.map +1 -1
  74. package/dist/src/read-models/document-view.d.ts +7 -4
  75. package/dist/src/read-models/document-view.d.ts.map +1 -1
  76. package/dist/src/read-models/interfaces.d.ts +1 -1
  77. package/dist/src/read-models/interfaces.d.ts.map +1 -1
  78. package/dist/src/read-models/types.d.ts +16 -0
  79. package/dist/src/read-models/types.d.ts.map +1 -1
  80. package/dist/src/registry/document-model-resolver.d.ts +29 -0
  81. package/dist/src/registry/document-model-resolver.d.ts.map +1 -0
  82. package/dist/src/registry/implementation.d.ts +4 -0
  83. package/dist/src/registry/implementation.d.ts.map +1 -1
  84. package/dist/src/registry/index.d.ts +3 -1
  85. package/dist/src/registry/index.d.ts.map +1 -1
  86. package/dist/src/registry/interfaces.d.ts +8 -0
  87. package/dist/src/registry/interfaces.d.ts.map +1 -1
  88. package/dist/src/shared/awaiter.d.ts +2 -2
  89. package/dist/src/shared/awaiter.d.ts.map +1 -1
  90. package/dist/src/shared/collect-all-pages.d.ts +7 -0
  91. package/dist/src/shared/collect-all-pages.d.ts.map +1 -0
  92. package/dist/src/shared/drive-url.d.ts +15 -0
  93. package/dist/src/shared/drive-url.d.ts.map +1 -0
  94. package/dist/src/shared/errors.d.ts +9 -0
  95. package/dist/src/shared/errors.d.ts.map +1 -1
  96. package/dist/src/shared/factories.d.ts +6 -2
  97. package/dist/src/shared/factories.d.ts.map +1 -1
  98. package/dist/src/shared/types.d.ts +32 -6
  99. package/dist/src/shared/types.d.ts.map +1 -1
  100. package/dist/src/signer/passthrough-signer.d.ts +1 -1
  101. package/dist/src/signer/passthrough-signer.d.ts.map +1 -1
  102. package/dist/src/storage/interfaces.d.ts +252 -124
  103. package/dist/src/storage/interfaces.d.ts.map +1 -1
  104. package/dist/src/storage/kysely/document-indexer.d.ts +17 -18
  105. package/dist/src/storage/kysely/document-indexer.d.ts.map +1 -1
  106. package/dist/src/storage/kysely/keyframe-store.d.ts +10 -1
  107. package/dist/src/storage/kysely/keyframe-store.d.ts.map +1 -1
  108. package/dist/src/storage/kysely/store.d.ts +9 -4
  109. package/dist/src/storage/kysely/store.d.ts.map +1 -1
  110. package/dist/src/storage/kysely/sync-cursor-storage.d.ts +1 -1
  111. package/dist/src/storage/kysely/sync-cursor-storage.d.ts.map +1 -1
  112. package/dist/src/storage/kysely/sync-dead-letter-storage.d.ts +17 -0
  113. package/dist/src/storage/kysely/sync-dead-letter-storage.d.ts.map +1 -0
  114. package/dist/src/storage/kysely/types.d.ts +22 -0
  115. package/dist/src/storage/kysely/types.d.ts.map +1 -1
  116. package/dist/src/storage/migrations/011_add_cursor_type_column.d.ts +3 -0
  117. package/dist/src/storage/migrations/011_add_cursor_type_column.d.ts.map +1 -0
  118. package/dist/src/storage/migrations/012_add_source_remote_column.d.ts +3 -0
  119. package/dist/src/storage/migrations/012_add_source_remote_column.d.ts.map +1 -0
  120. package/dist/src/storage/migrations/013_create_sync_dead_letters_table.d.ts +3 -0
  121. package/dist/src/storage/migrations/013_create_sync_dead_letters_table.d.ts.map +1 -0
  122. package/dist/src/storage/migrations/014_create_processor_cursor_table.d.ts +3 -0
  123. package/dist/src/storage/migrations/014_create_processor_cursor_table.d.ts.map +1 -0
  124. package/dist/src/storage/migrations/migrator.d.ts.map +1 -1
  125. package/dist/src/subs/default-error-handler.d.ts.map +1 -1
  126. package/dist/src/subs/subscription-notification-read-model.d.ts +3 -2
  127. package/dist/src/subs/subscription-notification-read-model.d.ts.map +1 -1
  128. package/dist/src/sync/batch-aggregator.d.ts +25 -0
  129. package/dist/src/sync/batch-aggregator.d.ts.map +1 -0
  130. package/dist/src/sync/buffered-mailbox.d.ts +36 -0
  131. package/dist/src/sync/buffered-mailbox.d.ts.map +1 -0
  132. package/dist/src/sync/channels/gql-req-channel.d.ts +126 -0
  133. package/dist/src/sync/channels/gql-req-channel.d.ts.map +1 -0
  134. package/dist/src/sync/channels/gql-request-channel-factory.d.ts +32 -0
  135. package/dist/src/sync/channels/gql-request-channel-factory.d.ts.map +1 -0
  136. package/dist/src/sync/channels/gql-res-channel.d.ts +31 -0
  137. package/dist/src/sync/channels/gql-res-channel.d.ts.map +1 -0
  138. package/dist/src/sync/channels/gql-response-channel-factory.d.ts +13 -0
  139. package/dist/src/sync/channels/gql-response-channel-factory.d.ts.map +1 -0
  140. package/dist/src/sync/channels/index.d.ts +6 -4
  141. package/dist/src/sync/channels/index.d.ts.map +1 -1
  142. package/dist/src/sync/channels/interval-poll-timer.d.ts +40 -0
  143. package/dist/src/sync/channels/interval-poll-timer.d.ts.map +1 -0
  144. package/dist/src/sync/channels/poll-timer.d.ts +14 -0
  145. package/dist/src/sync/channels/poll-timer.d.ts.map +1 -0
  146. package/dist/src/sync/channels/utils.d.ts +15 -1
  147. package/dist/src/sync/channels/utils.d.ts.map +1 -1
  148. package/dist/src/sync/errors.d.ts +6 -0
  149. package/dist/src/sync/errors.d.ts.map +1 -1
  150. package/dist/src/sync/index.d.ts +11 -7
  151. package/dist/src/sync/index.d.ts.map +1 -1
  152. package/dist/src/sync/interfaces.d.ts +42 -19
  153. package/dist/src/sync/interfaces.d.ts.map +1 -1
  154. package/dist/src/sync/mailbox.d.ts +51 -12
  155. package/dist/src/sync/mailbox.d.ts.map +1 -1
  156. package/dist/src/sync/sync-awaiter.d.ts +34 -0
  157. package/dist/src/sync/sync-awaiter.d.ts.map +1 -0
  158. package/dist/src/sync/sync-builder.d.ts +5 -1
  159. package/dist/src/sync/sync-builder.d.ts.map +1 -1
  160. package/dist/src/sync/sync-manager.d.ts +23 -8
  161. package/dist/src/sync/sync-manager.d.ts.map +1 -1
  162. package/dist/src/sync/sync-operation.d.ts +4 -2
  163. package/dist/src/sync/sync-operation.d.ts.map +1 -1
  164. package/dist/src/sync/sync-status-tracker.d.ts +31 -0
  165. package/dist/src/sync/sync-status-tracker.d.ts.map +1 -0
  166. package/dist/src/sync/types.d.ts +107 -2
  167. package/dist/src/sync/types.d.ts.map +1 -1
  168. package/dist/src/sync/utils.d.ts +37 -2
  169. package/dist/src/sync/utils.d.ts.map +1 -1
  170. package/dist/src/utils/reshuffle.d.ts +22 -5
  171. package/dist/src/utils/reshuffle.d.ts.map +1 -1
  172. package/package.json +24 -20
  173. package/dist/src/actions/index.js +0 -76
  174. package/dist/src/actions/index.js.map +0 -1
  175. package/dist/src/cache/buffer/ring-buffer.js +0 -69
  176. package/dist/src/cache/buffer/ring-buffer.js.map +0 -1
  177. package/dist/src/cache/document-meta-cache-types.js +0 -2
  178. package/dist/src/cache/document-meta-cache-types.js.map +0 -1
  179. package/dist/src/cache/document-meta-cache.js +0 -128
  180. package/dist/src/cache/document-meta-cache.js.map +0 -1
  181. package/dist/src/cache/index.js +0 -2
  182. package/dist/src/cache/index.js.map +0 -1
  183. package/dist/src/cache/kysely-operation-index.js +0 -250
  184. package/dist/src/cache/kysely-operation-index.js.map +0 -1
  185. package/dist/src/cache/kysely-write-cache.js +0 -388
  186. package/dist/src/cache/kysely-write-cache.js.map +0 -1
  187. package/dist/src/cache/lru/lru-tracker.js +0 -96
  188. package/dist/src/cache/lru/lru-tracker.js.map +0 -1
  189. package/dist/src/cache/operation-index-types.js +0 -4
  190. package/dist/src/cache/operation-index-types.js.map +0 -1
  191. package/dist/src/cache/write/interfaces.js +0 -2
  192. package/dist/src/cache/write/interfaces.js.map +0 -1
  193. package/dist/src/cache/write-cache-types.js +0 -2
  194. package/dist/src/cache/write-cache-types.js.map +0 -1
  195. package/dist/src/client/reactor-client.js +0 -406
  196. package/dist/src/client/reactor-client.js.map +0 -1
  197. package/dist/src/client/types.js +0 -14
  198. package/dist/src/client/types.js.map +0 -1
  199. package/dist/src/core/reactor-builder.js +0 -231
  200. package/dist/src/core/reactor-builder.js.map +0 -1
  201. package/dist/src/core/reactor-client-builder.js +0 -123
  202. package/dist/src/core/reactor-client-builder.js.map +0 -1
  203. package/dist/src/core/reactor.js +0 -981
  204. package/dist/src/core/reactor.js.map +0 -1
  205. package/dist/src/core/types.js +0 -2
  206. package/dist/src/core/types.js.map +0 -1
  207. package/dist/src/core/utils.js +0 -171
  208. package/dist/src/core/utils.js.map +0 -1
  209. package/dist/src/events/event-bus.js +0 -53
  210. package/dist/src/events/event-bus.js.map +0 -1
  211. package/dist/src/events/interfaces.js +0 -2
  212. package/dist/src/events/interfaces.js.map +0 -1
  213. package/dist/src/events/types.js +0 -28
  214. package/dist/src/events/types.js.map +0 -1
  215. package/dist/src/executor/interfaces.js +0 -2
  216. package/dist/src/executor/interfaces.js.map +0 -1
  217. package/dist/src/executor/simple-job-executor-manager.js +0 -233
  218. package/dist/src/executor/simple-job-executor-manager.js.map +0 -1
  219. package/dist/src/executor/simple-job-executor.js +0 -898
  220. package/dist/src/executor/simple-job-executor.js.map +0 -1
  221. package/dist/src/executor/types.js +0 -11
  222. package/dist/src/executor/types.js.map +0 -1
  223. package/dist/src/executor/util.js +0 -184
  224. package/dist/src/executor/util.js.map +0 -1
  225. package/dist/src/index.js.map +0 -1
  226. package/dist/src/job-tracker/in-memory-job-tracker.js +0 -112
  227. package/dist/src/job-tracker/in-memory-job-tracker.js.map +0 -1
  228. package/dist/src/job-tracker/index.js +0 -2
  229. package/dist/src/job-tracker/index.js.map +0 -1
  230. package/dist/src/job-tracker/interfaces.js +0 -2
  231. package/dist/src/job-tracker/interfaces.js.map +0 -1
  232. package/dist/src/logging/console.js +0 -108
  233. package/dist/src/logging/console.js.map +0 -1
  234. package/dist/src/logging/types.js +0 -2
  235. package/dist/src/logging/types.js.map +0 -1
  236. package/dist/src/processors/index.js +0 -2
  237. package/dist/src/processors/index.js.map +0 -1
  238. package/dist/src/processors/processor-manager.js +0 -165
  239. package/dist/src/processors/processor-manager.js.map +0 -1
  240. package/dist/src/processors/types.d.ts +0 -63
  241. package/dist/src/processors/types.d.ts.map +0 -1
  242. package/dist/src/processors/types.js +0 -2
  243. package/dist/src/processors/types.js.map +0 -1
  244. package/dist/src/processors/utils.js +0 -58
  245. package/dist/src/processors/utils.js.map +0 -1
  246. package/dist/src/queue/interfaces.js +0 -2
  247. package/dist/src/queue/interfaces.js.map +0 -1
  248. package/dist/src/queue/job-execution-handle.js +0 -62
  249. package/dist/src/queue/job-execution-handle.js.map +0 -1
  250. package/dist/src/queue/queue.js +0 -384
  251. package/dist/src/queue/queue.js.map +0 -1
  252. package/dist/src/queue/types.js +0 -19
  253. package/dist/src/queue/types.js.map +0 -1
  254. package/dist/src/read-models/base-read-model.js +0 -143
  255. package/dist/src/read-models/base-read-model.js.map +0 -1
  256. package/dist/src/read-models/coordinator.js +0 -72
  257. package/dist/src/read-models/coordinator.js.map +0 -1
  258. package/dist/src/read-models/document-view.js +0 -375
  259. package/dist/src/read-models/document-view.js.map +0 -1
  260. package/dist/src/read-models/interfaces.js +0 -2
  261. package/dist/src/read-models/interfaces.js.map +0 -1
  262. package/dist/src/read-models/types.js +0 -2
  263. package/dist/src/read-models/types.js.map +0 -1
  264. package/dist/src/registry/implementation.js +0 -216
  265. package/dist/src/registry/implementation.js.map +0 -1
  266. package/dist/src/registry/index.js +0 -2
  267. package/dist/src/registry/index.js.map +0 -1
  268. package/dist/src/registry/interfaces.js +0 -2
  269. package/dist/src/registry/interfaces.js.map +0 -1
  270. package/dist/src/shared/awaiter.js +0 -123
  271. package/dist/src/shared/awaiter.js.map +0 -1
  272. package/dist/src/shared/consistency-tracker.js +0 -123
  273. package/dist/src/shared/consistency-tracker.js.map +0 -1
  274. package/dist/src/shared/errors.js +0 -75
  275. package/dist/src/shared/errors.js.map +0 -1
  276. package/dist/src/shared/factories.js +0 -33
  277. package/dist/src/shared/factories.js.map +0 -1
  278. package/dist/src/shared/types.js +0 -38
  279. package/dist/src/shared/types.js.map +0 -1
  280. package/dist/src/shared/utils.js +0 -8
  281. package/dist/src/shared/utils.js.map +0 -1
  282. package/dist/src/signer/passthrough-signer.js +0 -19
  283. package/dist/src/signer/passthrough-signer.js.map +0 -1
  284. package/dist/src/signer/types.js +0 -2
  285. package/dist/src/signer/types.js.map +0 -1
  286. package/dist/src/storage/consistency-aware-legacy-storage.d.ts +0 -33
  287. package/dist/src/storage/consistency-aware-legacy-storage.d.ts.map +0 -1
  288. package/dist/src/storage/consistency-aware-legacy-storage.js +0 -65
  289. package/dist/src/storage/consistency-aware-legacy-storage.js.map +0 -1
  290. package/dist/src/storage/index.js +0 -3
  291. package/dist/src/storage/index.js.map +0 -1
  292. package/dist/src/storage/interfaces.js +0 -19
  293. package/dist/src/storage/interfaces.js.map +0 -1
  294. package/dist/src/storage/kysely/document-indexer.js +0 -350
  295. package/dist/src/storage/kysely/document-indexer.js.map +0 -1
  296. package/dist/src/storage/kysely/keyframe-store.js +0 -64
  297. package/dist/src/storage/kysely/keyframe-store.js.map +0 -1
  298. package/dist/src/storage/kysely/store.js +0 -233
  299. package/dist/src/storage/kysely/store.js.map +0 -1
  300. package/dist/src/storage/kysely/sync-cursor-storage.js +0 -93
  301. package/dist/src/storage/kysely/sync-cursor-storage.js.map +0 -1
  302. package/dist/src/storage/kysely/sync-remote-storage.js +0 -133
  303. package/dist/src/storage/kysely/sync-remote-storage.js.map +0 -1
  304. package/dist/src/storage/kysely/types.js +0 -2
  305. package/dist/src/storage/kysely/types.js.map +0 -1
  306. package/dist/src/storage/migrations/001_create_operation_table.js +0 -41
  307. package/dist/src/storage/migrations/001_create_operation_table.js.map +0 -1
  308. package/dist/src/storage/migrations/002_create_keyframe_table.js +0 -27
  309. package/dist/src/storage/migrations/002_create_keyframe_table.js.map +0 -1
  310. package/dist/src/storage/migrations/003_create_document_table.js +0 -10
  311. package/dist/src/storage/migrations/003_create_document_table.js.map +0 -1
  312. package/dist/src/storage/migrations/004_create_document_relationship_table.js +0 -35
  313. package/dist/src/storage/migrations/004_create_document_relationship_table.js.map +0 -1
  314. package/dist/src/storage/migrations/005_create_indexer_state_table.js +0 -10
  315. package/dist/src/storage/migrations/005_create_indexer_state_table.js.map +0 -1
  316. package/dist/src/storage/migrations/006_create_document_snapshot_table.js +0 -49
  317. package/dist/src/storage/migrations/006_create_document_snapshot_table.js.map +0 -1
  318. package/dist/src/storage/migrations/007_create_slug_mapping_table.js +0 -24
  319. package/dist/src/storage/migrations/007_create_slug_mapping_table.js.map +0 -1
  320. package/dist/src/storage/migrations/008_create_view_state_table.js +0 -10
  321. package/dist/src/storage/migrations/008_create_view_state_table.js.map +0 -1
  322. package/dist/src/storage/migrations/009_create_operation_index_tables.js +0 -50
  323. package/dist/src/storage/migrations/009_create_operation_index_tables.js.map +0 -1
  324. package/dist/src/storage/migrations/010_create_sync_tables.js +0 -43
  325. package/dist/src/storage/migrations/010_create_sync_tables.js.map +0 -1
  326. package/dist/src/storage/migrations/index.js +0 -3
  327. package/dist/src/storage/migrations/index.js.map +0 -1
  328. package/dist/src/storage/migrations/migrator.js +0 -78
  329. package/dist/src/storage/migrations/migrator.js.map +0 -1
  330. package/dist/src/storage/migrations/run-migrations.js +0 -58
  331. package/dist/src/storage/migrations/run-migrations.js.map +0 -1
  332. package/dist/src/storage/migrations/types.js +0 -2
  333. package/dist/src/storage/migrations/types.js.map +0 -1
  334. package/dist/src/storage/txn.js +0 -42
  335. package/dist/src/storage/txn.js.map +0 -1
  336. package/dist/src/subs/default-error-handler.js +0 -27
  337. package/dist/src/subs/default-error-handler.js.map +0 -1
  338. package/dist/src/subs/react-subscription-manager.js +0 -185
  339. package/dist/src/subs/react-subscription-manager.js.map +0 -1
  340. package/dist/src/subs/subscription-notification-read-model.js +0 -62
  341. package/dist/src/subs/subscription-notification-read-model.js.map +0 -1
  342. package/dist/src/subs/types.js +0 -2
  343. package/dist/src/subs/types.js.map +0 -1
  344. package/dist/src/sync/channels/composite-channel-factory.d.ts +0 -30
  345. package/dist/src/sync/channels/composite-channel-factory.d.ts.map +0 -1
  346. package/dist/src/sync/channels/composite-channel-factory.js +0 -87
  347. package/dist/src/sync/channels/composite-channel-factory.js.map +0 -1
  348. package/dist/src/sync/channels/gql-channel-factory.d.ts +0 -25
  349. package/dist/src/sync/channels/gql-channel-factory.d.ts.map +0 -1
  350. package/dist/src/sync/channels/gql-channel-factory.js +0 -76
  351. package/dist/src/sync/channels/gql-channel-factory.js.map +0 -1
  352. package/dist/src/sync/channels/gql-channel.d.ts +0 -118
  353. package/dist/src/sync/channels/gql-channel.d.ts.map +0 -1
  354. package/dist/src/sync/channels/gql-channel.js +0 -423
  355. package/dist/src/sync/channels/gql-channel.js.map +0 -1
  356. package/dist/src/sync/channels/index.js +0 -6
  357. package/dist/src/sync/channels/index.js.map +0 -1
  358. package/dist/src/sync/channels/polling-channel.d.ts +0 -39
  359. package/dist/src/sync/channels/polling-channel.d.ts.map +0 -1
  360. package/dist/src/sync/channels/polling-channel.js +0 -72
  361. package/dist/src/sync/channels/polling-channel.js.map +0 -1
  362. package/dist/src/sync/channels/utils.js +0 -96
  363. package/dist/src/sync/channels/utils.js.map +0 -1
  364. package/dist/src/sync/errors.js +0 -17
  365. package/dist/src/sync/errors.js.map +0 -1
  366. package/dist/src/sync/index.js +0 -9
  367. package/dist/src/sync/index.js.map +0 -1
  368. package/dist/src/sync/interfaces.js +0 -2
  369. package/dist/src/sync/interfaces.js.map +0 -1
  370. package/dist/src/sync/mailbox.js +0 -59
  371. package/dist/src/sync/mailbox.js.map +0 -1
  372. package/dist/src/sync/sync-builder.js +0 -39
  373. package/dist/src/sync/sync-builder.js.map +0 -1
  374. package/dist/src/sync/sync-manager.js +0 -266
  375. package/dist/src/sync/sync-manager.js.map +0 -1
  376. package/dist/src/sync/sync-operation.js +0 -63
  377. package/dist/src/sync/sync-operation.js.map +0 -1
  378. package/dist/src/sync/types.js +0 -16
  379. package/dist/src/sync/types.js.map +0 -1
  380. package/dist/src/sync/utils.js +0 -78
  381. package/dist/src/sync/utils.js.map +0 -1
  382. package/dist/src/utils/reshuffle.js +0 -47
  383. package/dist/src/utils/reshuffle.js.map +0 -1
@@ -0,0 +1,17 @@
1
+ import type { IWriteCache } from "../cache/write/interfaces.js";
2
+ import type { IDocumentModelRegistry } from "../registry/interfaces.js";
3
+ import type { IDocumentView, IKeyframeStore, IOperationStore } from "../storage/interfaces.js";
4
+ import type { IDocumentIntegrityService, RebuildResult, ValidationResult } from "./types.js";
5
+ export declare class DocumentIntegrityService implements IDocumentIntegrityService {
6
+ private readonly keyframeStore;
7
+ private readonly operationStore;
8
+ private readonly writeCache;
9
+ private readonly documentView;
10
+ private readonly documentModelRegistry;
11
+ constructor(keyframeStore: IKeyframeStore, operationStore: IOperationStore, writeCache: IWriteCache, documentView: IDocumentView, documentModelRegistry: IDocumentModelRegistry);
12
+ validateDocument(documentId: string, branch?: string, signal?: AbortSignal): Promise<ValidationResult>;
13
+ rebuildKeyframes(documentId: string, branch?: string, signal?: AbortSignal): Promise<RebuildResult>;
14
+ rebuildSnapshots(documentId: string, branch?: string, signal?: AbortSignal): Promise<RebuildResult>;
15
+ private discoverScopes;
16
+ }
17
+ //# sourceMappingURL=document-integrity-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-integrity-service.d.ts","sourceRoot":"","sources":["../../../src/admin/document-integrity-service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,yBAAyB,EAEzB,aAAa,EAEb,gBAAgB,EACjB,MAAM,YAAY,CAAC;AASpB,qBAAa,wBAAyB,YAAW,yBAAyB;IACxE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAyB;gBAG7D,aAAa,EAAE,cAAc,EAC7B,cAAc,EAAE,eAAe,EAC/B,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE,aAAa,EAC3B,qBAAqB,EAAE,sBAAsB;IASzC,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,SAAS,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,CAAC;IAiHtB,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,SAAS,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,aAAa,CAAC;IAenB,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,SAAS,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,aAAa,CAAC;YAiBX,cAAc;CAY7B"}
@@ -0,0 +1,30 @@
1
+ export type KeyframeValidationIssue = {
2
+ scope: string;
3
+ branch: string;
4
+ revision: number;
5
+ keyframeHash: string;
6
+ replayedHash: string;
7
+ };
8
+ export type SnapshotValidationIssue = {
9
+ scope: string;
10
+ branch: string;
11
+ snapshotHash: string;
12
+ replayedHash: string;
13
+ };
14
+ export type ValidationResult = {
15
+ documentId: string;
16
+ isConsistent: boolean;
17
+ keyframeIssues: KeyframeValidationIssue[];
18
+ snapshotIssues: SnapshotValidationIssue[];
19
+ };
20
+ export type RebuildResult = {
21
+ documentId: string;
22
+ keyframesDeleted: number;
23
+ scopesInvalidated: number;
24
+ };
25
+ export interface IDocumentIntegrityService {
26
+ validateDocument(documentId: string, branch?: string, signal?: AbortSignal): Promise<ValidationResult>;
27
+ rebuildKeyframes(documentId: string, branch?: string, signal?: AbortSignal): Promise<RebuildResult>;
28
+ rebuildSnapshots(documentId: string, branch?: string, signal?: AbortSignal): Promise<RebuildResult>;
29
+ }
30
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/admin/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C,cAAc,EAAE,uBAAuB,EAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,CACd,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B,gBAAgB,CACd,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1B,gBAAgB,CACd,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3B"}
@@ -0,0 +1,14 @@
1
+ import type { IOperationIndex } from "./operation-index-types.js";
2
+ export interface ICollectionMembershipCache {
3
+ getCollectionsForDocuments(documentIds: string[]): Promise<Record<string, string[]>>;
4
+ invalidate(documentId: string): void;
5
+ }
6
+ export declare class CollectionMembershipCache implements ICollectionMembershipCache {
7
+ private operationIndex;
8
+ private cache;
9
+ constructor(operationIndex: IOperationIndex);
10
+ withScopedIndex(operationIndex: IOperationIndex): CollectionMembershipCache;
11
+ getCollectionsForDocuments(documentIds: string[]): Promise<Record<string, string[]>>;
12
+ invalidate(documentId: string): void;
13
+ }
14
+ //# sourceMappingURL=collection-membership-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection-membership-cache.d.ts","sourceRoot":"","sources":["../../../src/cache/collection-membership-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,WAAW,0BAA0B;IAEzC,0BAA0B,CACxB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAGrC,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,qBAAa,yBAA0B,YAAW,0BAA0B;IAG9D,OAAO,CAAC,cAAc;IAFlC,OAAO,CAAC,KAAK,CAAoC;gBAE7B,cAAc,EAAE,eAAe;IAEnD,eAAe,CAAC,cAAc,EAAE,eAAe,GAAG,yBAAyB;IAMrE,0BAA0B,CAC9B,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IA0BpC,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;CAGrC"}
@@ -16,6 +16,7 @@ export declare class DocumentMetaCache implements IDocumentMetaCache {
16
16
  private operationStore;
17
17
  private config;
18
18
  constructor(operationStore: IOperationStore, config: DocumentMetaCacheConfig);
19
+ withScopedStore(operationStore: IOperationStore): DocumentMetaCache;
19
20
  startup(): Promise<void>;
20
21
  shutdown(): Promise<void>;
21
22
  getDocumentMeta(documentId: string, branch: string, signal?: AbortSignal): Promise<CachedDocumentMeta>;
@@ -1 +1 @@
1
- {"version":3,"file":"document-meta-cache.d.ts","sourceRoot":"","sources":["../../../src/cache/document-meta-cache.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAGxC;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,MAAM,CAA0B;gBAGtC,cAAc,EAAE,eAAe,EAC/B,MAAM,EAAE,uBAAuB;IAU3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAkBxB,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAa9B,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,kBAAkB,GACvB,IAAI;IAcP,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAuBvD,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,OAAO;YAID,aAAa;YAQb,qBAAqB;CA0DpC"}
1
+ {"version":3,"file":"document-meta-cache.d.ts","sourceRoot":"","sources":["../../../src/cache/document-meta-cache.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAGxC;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,MAAM,CAA0B;gBAGtC,cAAc,EAAE,eAAe,EAC/B,MAAM,EAAE,uBAAuB;IAUjC,eAAe,CAAC,cAAc,EAAE,eAAe,GAAG,iBAAiB;IAO7D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAkBxB,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAa9B,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,kBAAkB,GACvB,IAAI;IAcP,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAuBvD,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,OAAO;YAID,aAAa;YAQb,qBAAqB;CA2DpC"}
@@ -1,15 +1,24 @@
1
- import type { Kysely } from "kysely";
2
- import type { OperationWithContext, PagedResults, PagingOptions, ViewFilter } from "../storage/interfaces.js";
1
+ import type { OperationWithContext } from "document-model";
2
+ import type { Kysely, Transaction } from "kysely";
3
+ import type { PagedResults, PagingOptions } from "../shared/types.js";
4
+ import type { ViewFilter } from "../storage/interfaces.js";
3
5
  import type { Database } from "../storage/kysely/types.js";
4
6
  import type { IOperationIndex, IOperationIndexTxn, OperationIndexEntry } from "./operation-index-types.js";
5
7
  export declare class KyselyOperationIndex implements IOperationIndex {
6
8
  private db;
9
+ private trx?;
7
10
  constructor(db: Kysely<Database>);
11
+ private get queryExecutor();
12
+ withTransaction(trx: Transaction<Database>): KyselyOperationIndex;
8
13
  start(): IOperationIndexTxn;
9
14
  commit(txn: IOperationIndexTxn, signal?: AbortSignal): Promise<number[]>;
15
+ private executeCommit;
10
16
  find(collectionId: string, cursor?: number, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationIndexEntry>>;
17
+ get(documentId: string, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationIndexEntry>>;
11
18
  getSinceOrdinal(ordinal: number, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationWithContext>>;
12
19
  private rowToOperationWithContext;
13
20
  private rowToOperationIndexEntry;
21
+ getLatestTimestampForCollection(collectionId: string, signal?: AbortSignal): Promise<string | null>;
22
+ getCollectionsForDocuments(documentIds: string[]): Promise<Record<string, string[]>>;
14
23
  }
15
24
  //# sourceMappingURL=kysely-operation-index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kysely-operation-index.d.ts","sourceRoot":"","sources":["../../../src/cache/kysely-operation-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,UAAU,EACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAGV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EAEpB,MAAM,4BAA4B,CAAC;AAsEpC,qBAAa,oBAAqB,YAAW,eAAe;IAC9C,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;IAExC,KAAK,IAAI,kBAAkB;IAIrB,MAAM,CACV,GAAG,EAAE,kBAAkB,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IAqGd,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IA2DvC,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IA0C9C,OAAO,CAAC,yBAAyB;IAsBjC,OAAO,CAAC,wBAAwB;CAiBjC"}
1
+ {"version":3,"file":"kysely-operation-index.d.ts","sourceRoot":"","sources":["../../../src/cache/kysely-operation-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAGV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EAEpB,MAAM,4BAA4B,CAAC;AAsEpC,qBAAa,oBAAqB,YAAW,eAAe;IAG9C,OAAO,CAAC,EAAE;IAFtB,OAAO,CAAC,GAAG,CAAC,CAAwB;gBAEhB,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;IAExC,OAAO,KAAK,aAAa,GAExB;IAED,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB;IAMjE,KAAK,IAAI,kBAAkB;IAIrB,MAAM,CACV,GAAG,EAAE,kBAAkB,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;YAkBN,aAAa;IA8FrB,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IA6EvC,GAAG,CACP,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IA0DvC,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAsD9C,OAAO,CAAC,yBAAyB;IAsBjC,OAAO,CAAC,wBAAwB;IAmB1B,+BAA+B,CACnC,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoBnB,0BAA0B,CAC9B,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAqBrC"}
@@ -52,6 +52,7 @@ export declare class KyselyWriteCache implements IWriteCache {
52
52
  private registry;
53
53
  private config;
54
54
  constructor(keyframeStore: IKeyframeStore, operationStore: IOperationStore, registry: IDocumentModelRegistry, config: WriteCacheConfig);
55
+ withScopedStores(operationStore: IOperationStore, keyframeStore: IKeyframeStore): KyselyWriteCache;
55
56
  /**
56
57
  * Initializes the write cache.
57
58
  * Currently a no-op as keyframe store lifecycle is managed externally.
@@ -85,8 +86,13 @@ export declare class KyselyWriteCache implements IWriteCache {
85
86
  /**
86
87
  * Stores a document snapshot in the cache at a specific revision.
87
88
  *
88
- * Stores the document reference as-is. Callers must avoid mutating cached
89
- * snapshots if they need to preserve historical revisions.
89
+ * The cached document is a shallow copy of the input with its operation history
90
+ * truncated to the last operation per scope and its clipboard cleared. This keeps
91
+ * memory use and copy costs constant regardless of operation count. Consumers of
92
+ * getState() must not rely on the full operation history being present; the only
93
+ * guaranteed invariant is that operations[scope].at(-1) reflects the latest
94
+ * operation index for each scope.
95
+ *
90
96
  * Updates LRU tracker and may evict least recently used stream if at capacity.
91
97
  * Asynchronously persists keyframes at configured intervals (fire-and-forget).
92
98
  *
@@ -120,6 +126,8 @@ export declare class KyselyWriteCache implements IWriteCache {
120
126
  /**
121
127
  * Retrieves a specific stream for a document. Exposed on the implementation
122
128
  * for testing, but not on the interface.
129
+ *
130
+ * @internal
123
131
  */
124
132
  getStream(documentId: string, scope: string, branch: string): DocumentStream | undefined;
125
133
  private findNearestKeyframe;
@@ -1 +1 @@
1
- {"version":3,"file":"kysely-write-cache.d.ts","sourceRoot":"","sources":["../../../src/cache/kysely-write-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,UAAU,EAEX,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,KAAK,cAAc,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,gBAAiB,YAAW,WAAW;IAClD,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,MAAM,CAA6B;gBAGzC,aAAa,EAAE,cAAc,EAC7B,cAAc,EAAE,eAAe,EAC/B,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,gBAAgB;IAc1B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B;;;;;;;;;;;;;;;;;;OAkBG;IACG,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC;IAiEtB;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,UAAU,GACnB,IAAI;IAuBP;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IA+BvE;;;OAGG;IACH,KAAK,IAAI,IAAI;IAKb;;;OAGG;IACH,SAAS,CACP,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,cAAc,GAAG,SAAS;YAKf,mBAAmB;YAoBnB,eAAe;YA8Jf,eAAe;IAkE7B,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,kBAAkB;CAG3B"}
1
+ {"version":3,"file":"kysely-write-cache.d.ts","sourceRoot":"","sources":["../../../src/cache/kysely-write-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,UAAU,EAEX,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,KAAK,cAAc,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;CACxC,CAAC;AAQF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,gBAAiB,YAAW,WAAW;IAClD,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,MAAM,CAA6B;gBAGzC,aAAa,EAAE,cAAc,EAC7B,cAAc,EAAE,eAAe,EAC/B,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,gBAAgB;IAc1B,gBAAgB,CACd,cAAc,EAAE,eAAe,EAC/B,aAAa,EAAE,cAAc,GAC5B,gBAAgB;IAYnB;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B;;;;;;;;;;;;;;;;;;OAkBG;IACG,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC;IAiEtB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,UAAU,GACnB,IAAI;IA0CP;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IA+BvE;;;OAGG;IACH,KAAK,IAAI,IAAI;IAKb;;;;;OAKG;IACH,SAAS,CACP,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,cAAc,GAAG,SAAS;YAKf,mBAAmB;YAoBnB,eAAe;YA2Kf,eAAe;IAmE7B,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,kBAAkB;CAG3B"}
@@ -1,12 +1,14 @@
1
- import type { Operation } from "document-model";
1
+ import type { Operation, OperationWithContext } from "document-model";
2
2
  import type { Generated, Insertable, Selectable, Updateable } from "kysely";
3
- import type { OperationWithContext, PagedResults, PagingOptions, ViewFilter } from "../storage/interfaces.js";
3
+ import type { PagedResults, PagingOptions } from "../shared/types.js";
4
+ import type { ViewFilter } from "../storage/interfaces.js";
4
5
  export type OperationIndexEntry = Operation & {
5
6
  ordinal?: number;
6
7
  documentId: string;
7
8
  documentType: string;
8
9
  branch: string;
9
10
  scope: string;
11
+ sourceRemote: string;
10
12
  };
11
13
  export interface IOperationIndexTxn {
12
14
  createCollection(collectionId: string): void;
@@ -18,7 +20,18 @@ export interface IOperationIndex {
18
20
  start(): IOperationIndexTxn;
19
21
  commit(txn: IOperationIndexTxn, signal?: AbortSignal): Promise<number[]>;
20
22
  find(collectionId: string, cursor?: number, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationIndexEntry>>;
23
+ /**
24
+ * Get all operations for a specific document, ordered by ordinal.
25
+ * Used for retroactive sync when a document is added to a collection.
26
+ */
27
+ get(documentId: string, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationIndexEntry>>;
21
28
  getSinceOrdinal(ordinal: number, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationWithContext>>;
29
+ getLatestTimestampForCollection(collectionId: string, signal?: AbortSignal): Promise<string | null>;
30
+ /**
31
+ * Get all collection memberships for the given document IDs.
32
+ * Returns a map of documentId to array of collection IDs.
33
+ */
34
+ getCollectionsForDocuments(documentIds: string[]): Promise<Record<string, string[]>>;
22
35
  }
23
36
  export interface DocumentCollectionTable {
24
37
  documentId: string;
@@ -39,6 +52,7 @@ export interface OperationIndexOperationTable {
39
52
  skip: number;
40
53
  hash: string;
41
54
  action: unknown;
55
+ sourceRemote: Generated<string>;
42
56
  }
43
57
  export type DocumentCollectionRow = Selectable<DocumentCollectionTable>;
44
58
  export type InsertableDocumentCollection = Insertable<DocumentCollectionTable>;
@@ -1 +1 @@
1
- {"version":3,"file":"operation-index-types.d.ts","sourceRoot":"","sources":["../../../src/cache/operation-index-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation-index-types.d.ts","sourceRoot":"","sources":["../../../src/cache/operation-index-types.ts"],"names":[],"mappings":"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"}
@@ -28,13 +28,18 @@ export interface IWriteCache {
28
28
  getState(documentId: string, scope: string, branch: string, targetRevision?: number, signal?: AbortSignal): Promise<PHDocument>;
29
29
  /**
30
30
  * Stores a document snapshot in the cache at the specified revision.
31
- * The document will be deep copied to prevent external mutations.
31
+ * Implementations may truncate the stored document (e.g. strip operation
32
+ * history beyond the last entry per scope, clear clipboard) to bound memory
33
+ * and copy cost. Callers must not assume that the document returned by a
34
+ * subsequent getState() call will have a complete operations array; the only
35
+ * guaranteed invariant is that operations[scope].at(-1) holds the latest
36
+ * operation index for each scope present in the cached document.
32
37
  *
33
38
  * @param documentId - The document identifier
34
39
  * @param scope - Operation scope
35
40
  * @param branch - Branch name
36
41
  * @param revision - The revision this document represents
37
- * @param document - The complete document to cache
42
+ * @param document - The document to cache
38
43
  *
39
44
  * @example
40
45
  * ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/cache/write/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,UAAU,GACnB,IAAI,CAAC;IAER;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExE;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/cache/write/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,UAAU,GACnB,IAAI,CAAC;IAER;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExE;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B"}
@@ -1,9 +1,9 @@
1
- import type { Action, DocumentModelModule, ISigner, PHDocument } from "document-model";
2
- import type { ILogger } from "#logging/types.js";
3
- import type { IReactor } from "../core/types.js";
1
+ import type { Action, DocumentModelModule, ISigner, Operation, PHDocument } from "document-model";
2
+ import type { BatchLoadRequest, BatchLoadResult, IReactor } from "../core/types.js";
3
+ import type { ILogger } from "../logging/types.js";
4
4
  import { type IJobAwaiter } from "../shared/awaiter.js";
5
5
  import { PropagationMode, type JobInfo, type PagedResults, type PagingOptions, type SearchFilter, type ViewFilter } from "../shared/types.js";
6
- import type { IDocumentIndexer } from "../storage/interfaces.js";
6
+ import type { IDocumentIndexer, IDocumentView, OperationFilter } from "../storage/interfaces.js";
7
7
  import type { IReactorSubscriptionManager } from "../subs/types.js";
8
8
  import { type CreateDocumentOptions, type DocumentChangeEvent, type IReactorClient } from "./types.js";
9
9
  /**
@@ -23,7 +23,8 @@ export declare class ReactorClient implements IReactorClient {
23
23
  private subscriptionManager;
24
24
  private jobAwaiter;
25
25
  private documentIndexer;
26
- constructor(logger: ILogger, reactor: IReactor, signer: ISigner, subscriptionManager: IReactorSubscriptionManager, jobAwaiter: IJobAwaiter, documentIndexer: IDocumentIndexer);
26
+ private documentView;
27
+ constructor(logger: ILogger, reactor: IReactor, signer: ISigner, subscriptionManager: IReactorSubscriptionManager, jobAwaiter: IJobAwaiter, documentIndexer: IDocumentIndexer, documentView: IDocumentView);
27
28
  /**
28
29
  * Retrieves a list of document model modules.
29
30
  */
@@ -38,10 +39,11 @@ export declare class ReactorClient implements IReactorClient {
38
39
  /**
39
40
  * Retrieves a specific PHDocument
40
41
  */
41
- get<TDocument extends PHDocument>(identifier: string, view?: ViewFilter, signal?: AbortSignal): Promise<{
42
- document: TDocument;
43
- childIds: string[];
44
- }>;
42
+ get<TDocument extends PHDocument>(identifier: string, view?: ViewFilter, signal?: AbortSignal): Promise<TDocument>;
43
+ /**
44
+ * Retrieves operations for a document
45
+ */
46
+ getOperations(documentIdentifier: string, view?: ViewFilter, filter?: OperationFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<Operation>>;
45
47
  /**
46
48
  * Retrieves children of a document
47
49
  */
@@ -57,7 +59,7 @@ export declare class ReactorClient implements IReactorClient {
57
59
  /**
58
60
  * Creates a document and waits for completion
59
61
  */
60
- create(document: PHDocument, parentIdentifier?: string, signal?: AbortSignal): Promise<PHDocument>;
62
+ create<TDocument extends PHDocument = PHDocument>(document: PHDocument, parentIdentifier?: string, signal?: AbortSignal): Promise<TDocument>;
61
63
  /**
62
64
  * Creates an empty document and waits for completion
63
65
  */
@@ -93,6 +95,7 @@ export declare class ReactorClient implements IReactorClient {
93
95
  source: PHDocument;
94
96
  target: PHDocument;
95
97
  }>;
98
+ loadBatch(request: BatchLoadRequest, signal?: AbortSignal): Promise<BatchLoadResult>;
96
99
  /**
97
100
  * Deletes a document and waits for completion
98
101
  */
@@ -1 +1 @@
1
- {"version":3,"file":"reactor-client.d.ts","sourceRoot":"","sources":["../../../src/client/reactor-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactor-client.d.ts","sourceRoot":"","sources":["../../../src/client/reactor-client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- import type { Action, DocumentModelModule, PHDocument } from "document-model";
1
+ import type { Action, DocumentModelModule, Operation, PHDocument } from "document-model";
2
+ import type { BatchLoadRequest, BatchLoadResult } from "../core/types.js";
2
3
  import type { JobInfo, PagedResults, PagingOptions, PropagationMode, SearchFilter, ViewFilter } from "../shared/types.js";
4
+ import type { OperationFilter } from "../storage/interfaces.js";
3
5
  /**
4
6
  * Describes the types of document changes that can occur.
5
7
  */
@@ -67,10 +69,18 @@ export interface IReactorClient {
67
69
  * @param signal - Optional abort signal to cancel the request
68
70
  * @returns The up-to-date PHDocument with scopes and list of child document ids
69
71
  */
70
- get<TDocument extends PHDocument>(identifier: string, view?: ViewFilter, signal?: AbortSignal): Promise<{
71
- document: TDocument;
72
- childIds: string[];
73
- }>;
72
+ get<TDocument extends PHDocument>(identifier: string, view?: ViewFilter, signal?: AbortSignal): Promise<TDocument>;
73
+ /**
74
+ * Retrieves operations for a document.
75
+ *
76
+ * @param documentIdentifier - Required, this is either a document "id" field or a "slug"
77
+ * @param view - Optional filter containing branch and scopes information
78
+ * @param filter - Optional filter for actionTypes, timestamps, and revision
79
+ * @param paging - Optional pagination options
80
+ * @param signal - Optional abort signal to cancel the request
81
+ * @returns Paginated list of operations
82
+ */
83
+ getOperations(documentIdentifier: string, view?: ViewFilter, filter?: OperationFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<Operation>>;
74
84
  /**
75
85
  * Retrieves children of a document.
76
86
  *
@@ -109,7 +119,7 @@ export interface IReactorClient {
109
119
  * @param signal - Optional abort signal to cancel the request
110
120
  * @returns The created document
111
121
  */
112
- create(document: PHDocument, parentIdentifier?: string, signal?: AbortSignal): Promise<PHDocument>;
122
+ create<TDocument extends PHDocument = PHDocument>(document: PHDocument, parentIdentifier?: string, signal?: AbortSignal): Promise<TDocument>;
113
123
  /**
114
124
  * Creates an empty document and waits for completion
115
125
  *
@@ -212,6 +222,15 @@ export interface IReactorClient {
212
222
  * @returns a promise, resolving on deletion confirmation
213
223
  */
214
224
  deleteDocuments(identifiers: string[], propagate?: PropagationMode, signal?: AbortSignal): Promise<void>;
225
+ /**
226
+ * Loads multiple batches of pre-existing operations across documents with dependency management.
227
+ * Waits for all jobs to complete.
228
+ *
229
+ * @param request - Batch load request containing jobs with dependencies
230
+ * @param signal - Optional abort signal to cancel the request
231
+ * @returns Map of job keys to completed job information
232
+ */
233
+ loadBatch(request: BatchLoadRequest, signal?: AbortSignal): Promise<BatchLoadResult>;
215
234
  /**
216
235
  * Retrieves the status of a job
217
236
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/types.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,23 @@
1
- import type { IDocumentOperationStorage, IDocumentStorage } from "document-drive";
2
1
  import type { DocumentModelModule, UpgradeManifest } from "document-model";
3
- import type { WriteCacheConfig } from "../cache/write-cache-types.js";
4
- import type { IReadModel, IReadModelCoordinator } from "../read-models/interfaces.js";
5
- import type { SyncBuilder } from "../sync/sync-builder.js";
6
- import type { Database, ExecutorConfig, IReactor, ReactorFeatures, ReactorModule } from "./types.js";
7
- import type { IJobExecutorManager } from "#executor/interfaces.js";
8
- import type { ILogger } from "#logging/types.js";
9
2
  import { Kysely } from "kysely";
3
+ import type { WriteCacheConfig } from "../cache/write-cache-types.js";
10
4
  import type { IEventBus } from "../events/interfaces.js";
5
+ import type { IJobExecutorManager } from "../executor/interfaces.js";
6
+ import type { JobExecutorConfig } from "../executor/types.js";
7
+ import type { ILogger } from "../logging/types.js";
8
+ import type { IQueue } from "../queue/interfaces.js";
9
+ import type { IReadModel, IReadModelCoordinator } from "../read-models/interfaces.js";
10
+ import type { IDocumentModelLoader } from "../registry/interfaces.js";
11
11
  import type { SignatureVerificationHandler } from "../signer/types.js";
12
12
  import type { MigrationStrategy } from "../storage/migrations/types.js";
13
+ import { SyncBuilder } from "../sync/sync-builder.js";
14
+ import type { JwtHandler } from "../sync/types.js";
15
+ import { ChannelScheme } from "../sync/types.js";
16
+ import type { Database, IReactor, ReactorFeatures, ReactorModule } from "./types.js";
13
17
  export declare class ReactorBuilder {
14
18
  private logger?;
15
19
  private documentModels;
16
20
  private upgradeManifests;
17
- private storage?;
18
21
  private features;
19
22
  private readModels;
20
23
  private executorManager;
@@ -26,22 +29,32 @@ export declare class ReactorBuilder {
26
29
  private readModelCoordinator?;
27
30
  private signatureVerifier?;
28
31
  private kyselyInstance?;
32
+ private signalHandlersEnabled;
33
+ private queueInstance?;
34
+ private channelScheme?;
35
+ private jwtHandler?;
36
+ private documentModelLoader?;
29
37
  withLogger(logger: ILogger): this;
30
38
  withDocumentModels(models: DocumentModelModule<any>[]): this;
31
39
  withUpgradeManifests(manifests: UpgradeManifest<readonly number[]>[]): this;
32
- withLegacyStorage(storage: IDocumentStorage & IDocumentOperationStorage): this;
33
40
  withFeatures(features: ReactorFeatures): this;
34
41
  withReadModel(readModel: IReadModel): this;
35
42
  withReadModelCoordinator(readModelCoordinator: IReadModelCoordinator): this;
36
43
  withExecutor(executor: IJobExecutorManager): this;
37
- withExecutorConfig(config: Partial<ExecutorConfig>): this;
44
+ withExecutorConfig(config: Partial<JobExecutorConfig>): this;
38
45
  withWriteCacheConfig(config: Partial<WriteCacheConfig>): this;
39
46
  withMigrationStrategy(strategy: MigrationStrategy): this;
40
47
  withSync(syncBuilder: SyncBuilder): this;
41
48
  withEventBus(eventBus: IEventBus): this;
42
49
  withSignatureVerifier(verifier: SignatureVerificationHandler): this;
43
50
  withKysely(kysely: Kysely<Database>): this;
51
+ withQueue(queue: IQueue): this;
52
+ withChannelScheme(scheme: ChannelScheme): this;
53
+ withJwtHandler(handler: JwtHandler): this;
54
+ withDocumentModelLoader(loader: IDocumentModelLoader): this;
55
+ withSignalHandlers(): this;
44
56
  build(): Promise<IReactor>;
45
57
  buildModule(): Promise<ReactorModule>;
58
+ private attachSignalHandlers;
46
59
  }
47
60
  //# sourceMappingURL=reactor-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reactor-builder.d.ts","sourceRoot":"","sources":["../../../src/core/reactor-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAI3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAQtE,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AAOtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,eAAe,EACf,aAAa,EAEd,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAMvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAKxE,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,OAAO,CAAC,CAA+C;IAC/D,OAAO,CAAC,QAAQ,CAAmD;IACnE,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,gBAAgB,CAAC,CAA4B;IACrD,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAY;IAC7B,OAAO,CAAC,oBAAoB,CAAC,CAAwB;IACrD,OAAO,CAAC,iBAAiB,CAAC,CAA+B;IACzD,OAAO,CAAC,cAAc,CAAC,CAAmB;IAE1C,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAKjC,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;IAK5D,oBAAoB,CAAC,SAAS,EAAE,eAAe,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI;IAK3E,iBAAiB,CACf,OAAO,EAAE,gBAAgB,GAAG,yBAAyB,GACpD,IAAI;IAKP,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAK7C,aAAa,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAK1C,wBAAwB,CAAC,oBAAoB,EAAE,qBAAqB,GAAG,IAAI;IAK3E,YAAY,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAKjD,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAKzD,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAK7D,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAKxD,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAKxC,YAAY,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAKvC,qBAAqB,CAAC,QAAQ,EAAE,4BAA4B,GAAG,IAAI;IAKnE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI;IAKpC,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;IAK1B,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;CA4N5C"}
1
+ {"version":3,"file":"reactor-builder.d.ts","sourceRoot":"","sources":["../../../src/core/reactor-builder.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import type { IEventBus } from "#events/interfaces.js";
2
- import type { ILogger } from "#logging/types.js";
3
1
  import type { ISigner } from "document-model";
4
2
  import { ReactorClient } from "../client/reactor-client.js";
3
+ import type { IEventBus } from "../events/interfaces.js";
4
+ import type { ILogger } from "../logging/types.js";
5
5
  import { type IJobAwaiter } from "../shared/awaiter.js";
6
6
  import type { SignerConfig } from "../signer/types.js";
7
- import type { IDocumentIndexer } from "../storage/interfaces.js";
7
+ import type { IDocumentModelLoader } from "../registry/interfaces.js";
8
+ import type { IDocumentIndexer, IDocumentView } from "../storage/interfaces.js";
8
9
  import type { IReactorSubscriptionManager } from "../subs/types.js";
9
10
  import type { ReactorBuilder } from "./reactor-builder.js";
10
11
  import type { IReactor, ReactorClientModule } from "./types.js";
@@ -17,10 +18,12 @@ export declare class ReactorClientBuilder {
17
18
  private reactor?;
18
19
  private eventBus?;
19
20
  private documentIndexer?;
21
+ private documentView?;
20
22
  private signer?;
21
23
  private signatureVerifier?;
22
24
  private subscriptionManager?;
23
25
  private jobAwaiter?;
26
+ private documentModelLoader?;
24
27
  /**
25
28
  * Sets the logger for the ReactorClient.
26
29
  * @param logger - The logger to use.
@@ -34,7 +37,7 @@ export declare class ReactorClientBuilder {
34
37
  /**
35
38
  * Either this or withReactorBuilder must be set.
36
39
  */
37
- withReactor(reactor: IReactor, eventBus: IEventBus, documentIndexer: IDocumentIndexer): this;
40
+ withReactor(reactor: IReactor, eventBus: IEventBus, documentIndexer: IDocumentIndexer, documentView: IDocumentView): this;
38
41
  /**
39
42
  * Sets the signer configuration for signing and verifying actions.
40
43
  *
@@ -43,6 +46,7 @@ export declare class ReactorClientBuilder {
43
46
  withSigner(config: ISigner | SignerConfig): this;
44
47
  withSubscriptionManager(subscriptionManager: IReactorSubscriptionManager): this;
45
48
  withJobAwaiter(jobAwaiter: IJobAwaiter): this;
49
+ withDocumentModelLoader(loader: IDocumentModelLoader): this;
46
50
  build(): Promise<ReactorClient>;
47
51
  buildModule(): Promise<ReactorClientModule>;
48
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reactor-client-builder.d.ts","sourceRoot":"","sources":["../../../src/core/reactor-client-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AAE/E;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,OAAO,CAAC,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAAC,CAAY;IAC7B,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,iBAAiB,CAAC,CAA+B;IACzD,OAAO,CAAC,mBAAmB,CAAC,CAA8B;IAC1D,OAAO,CAAC,UAAU,CAAC,CAAc;IAEjC;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAKxC;;OAEG;IACI,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAS/D;;OAEG;IACI,WAAW,CAChB,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,SAAS,EACnB,eAAe,EAAE,gBAAgB,GAChC,IAAI;IAWP;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI;IAUhD,uBAAuB,CAC5B,mBAAmB,EAAE,2BAA2B,GAC/C,IAAI;IAKA,cAAc,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAKvC,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC;IAK/B,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;CA8DzD"}
1
+ {"version":3,"file":"reactor-client-builder.d.ts","sourceRoot":"","sources":["../../../src/core/reactor-client-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGhF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AAE/E;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,OAAO,CAAC,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAAC,CAAY;IAC7B,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,iBAAiB,CAAC,CAA+B;IACzD,OAAO,CAAC,mBAAmB,CAAC,CAA8B;IAC1D,OAAO,CAAC,UAAU,CAAC,CAAc;IACjC,OAAO,CAAC,mBAAmB,CAAC,CAAuB;IAEnD;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAKxC;;OAEG;IACI,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAS/D;;OAEG;IACI,WAAW,CAChB,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,SAAS,EACnB,eAAe,EAAE,gBAAgB,EACjC,YAAY,EAAE,aAAa,GAC1B,IAAI;IAYP;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI;IAUhD,uBAAuB,CAC5B,mBAAmB,EAAE,2BAA2B,GAC/C,IAAI;IAKA,cAAc,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAK7C,uBAAuB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAKrD,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC;IAK/B,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;CA2EzD"}