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

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 (381) 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 +20501 -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 +121 -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/index.d.ts +11 -7
  149. package/dist/src/sync/index.d.ts.map +1 -1
  150. package/dist/src/sync/interfaces.d.ts +42 -19
  151. package/dist/src/sync/interfaces.d.ts.map +1 -1
  152. package/dist/src/sync/mailbox.d.ts +51 -12
  153. package/dist/src/sync/mailbox.d.ts.map +1 -1
  154. package/dist/src/sync/sync-awaiter.d.ts +34 -0
  155. package/dist/src/sync/sync-awaiter.d.ts.map +1 -0
  156. package/dist/src/sync/sync-builder.d.ts +5 -1
  157. package/dist/src/sync/sync-builder.d.ts.map +1 -1
  158. package/dist/src/sync/sync-manager.d.ts +22 -8
  159. package/dist/src/sync/sync-manager.d.ts.map +1 -1
  160. package/dist/src/sync/sync-operation.d.ts +4 -2
  161. package/dist/src/sync/sync-operation.d.ts.map +1 -1
  162. package/dist/src/sync/sync-status-tracker.d.ts +31 -0
  163. package/dist/src/sync/sync-status-tracker.d.ts.map +1 -0
  164. package/dist/src/sync/types.d.ts +107 -2
  165. package/dist/src/sync/types.d.ts.map +1 -1
  166. package/dist/src/sync/utils.d.ts +37 -2
  167. package/dist/src/sync/utils.d.ts.map +1 -1
  168. package/dist/src/utils/reshuffle.d.ts +22 -5
  169. package/dist/src/utils/reshuffle.d.ts.map +1 -1
  170. package/package.json +24 -20
  171. package/dist/src/actions/index.js +0 -76
  172. package/dist/src/actions/index.js.map +0 -1
  173. package/dist/src/cache/buffer/ring-buffer.js +0 -69
  174. package/dist/src/cache/buffer/ring-buffer.js.map +0 -1
  175. package/dist/src/cache/document-meta-cache-types.js +0 -2
  176. package/dist/src/cache/document-meta-cache-types.js.map +0 -1
  177. package/dist/src/cache/document-meta-cache.js +0 -128
  178. package/dist/src/cache/document-meta-cache.js.map +0 -1
  179. package/dist/src/cache/index.js +0 -2
  180. package/dist/src/cache/index.js.map +0 -1
  181. package/dist/src/cache/kysely-operation-index.js +0 -250
  182. package/dist/src/cache/kysely-operation-index.js.map +0 -1
  183. package/dist/src/cache/kysely-write-cache.js +0 -388
  184. package/dist/src/cache/kysely-write-cache.js.map +0 -1
  185. package/dist/src/cache/lru/lru-tracker.js +0 -96
  186. package/dist/src/cache/lru/lru-tracker.js.map +0 -1
  187. package/dist/src/cache/operation-index-types.js +0 -4
  188. package/dist/src/cache/operation-index-types.js.map +0 -1
  189. package/dist/src/cache/write/interfaces.js +0 -2
  190. package/dist/src/cache/write/interfaces.js.map +0 -1
  191. package/dist/src/cache/write-cache-types.js +0 -2
  192. package/dist/src/cache/write-cache-types.js.map +0 -1
  193. package/dist/src/client/reactor-client.js +0 -406
  194. package/dist/src/client/reactor-client.js.map +0 -1
  195. package/dist/src/client/types.js +0 -14
  196. package/dist/src/client/types.js.map +0 -1
  197. package/dist/src/core/reactor-builder.js +0 -231
  198. package/dist/src/core/reactor-builder.js.map +0 -1
  199. package/dist/src/core/reactor-client-builder.js +0 -123
  200. package/dist/src/core/reactor-client-builder.js.map +0 -1
  201. package/dist/src/core/reactor.js +0 -981
  202. package/dist/src/core/reactor.js.map +0 -1
  203. package/dist/src/core/types.js +0 -2
  204. package/dist/src/core/types.js.map +0 -1
  205. package/dist/src/core/utils.js +0 -171
  206. package/dist/src/core/utils.js.map +0 -1
  207. package/dist/src/events/event-bus.js +0 -53
  208. package/dist/src/events/event-bus.js.map +0 -1
  209. package/dist/src/events/interfaces.js +0 -2
  210. package/dist/src/events/interfaces.js.map +0 -1
  211. package/dist/src/events/types.js +0 -28
  212. package/dist/src/events/types.js.map +0 -1
  213. package/dist/src/executor/interfaces.js +0 -2
  214. package/dist/src/executor/interfaces.js.map +0 -1
  215. package/dist/src/executor/simple-job-executor-manager.js +0 -233
  216. package/dist/src/executor/simple-job-executor-manager.js.map +0 -1
  217. package/dist/src/executor/simple-job-executor.js +0 -898
  218. package/dist/src/executor/simple-job-executor.js.map +0 -1
  219. package/dist/src/executor/types.js +0 -11
  220. package/dist/src/executor/types.js.map +0 -1
  221. package/dist/src/executor/util.js +0 -184
  222. package/dist/src/executor/util.js.map +0 -1
  223. package/dist/src/index.js.map +0 -1
  224. package/dist/src/job-tracker/in-memory-job-tracker.js +0 -112
  225. package/dist/src/job-tracker/in-memory-job-tracker.js.map +0 -1
  226. package/dist/src/job-tracker/index.js +0 -2
  227. package/dist/src/job-tracker/index.js.map +0 -1
  228. package/dist/src/job-tracker/interfaces.js +0 -2
  229. package/dist/src/job-tracker/interfaces.js.map +0 -1
  230. package/dist/src/logging/console.js +0 -108
  231. package/dist/src/logging/console.js.map +0 -1
  232. package/dist/src/logging/types.js +0 -2
  233. package/dist/src/logging/types.js.map +0 -1
  234. package/dist/src/processors/index.js +0 -2
  235. package/dist/src/processors/index.js.map +0 -1
  236. package/dist/src/processors/processor-manager.js +0 -165
  237. package/dist/src/processors/processor-manager.js.map +0 -1
  238. package/dist/src/processors/types.d.ts +0 -63
  239. package/dist/src/processors/types.d.ts.map +0 -1
  240. package/dist/src/processors/types.js +0 -2
  241. package/dist/src/processors/types.js.map +0 -1
  242. package/dist/src/processors/utils.js +0 -58
  243. package/dist/src/processors/utils.js.map +0 -1
  244. package/dist/src/queue/interfaces.js +0 -2
  245. package/dist/src/queue/interfaces.js.map +0 -1
  246. package/dist/src/queue/job-execution-handle.js +0 -62
  247. package/dist/src/queue/job-execution-handle.js.map +0 -1
  248. package/dist/src/queue/queue.js +0 -384
  249. package/dist/src/queue/queue.js.map +0 -1
  250. package/dist/src/queue/types.js +0 -19
  251. package/dist/src/queue/types.js.map +0 -1
  252. package/dist/src/read-models/base-read-model.js +0 -143
  253. package/dist/src/read-models/base-read-model.js.map +0 -1
  254. package/dist/src/read-models/coordinator.js +0 -72
  255. package/dist/src/read-models/coordinator.js.map +0 -1
  256. package/dist/src/read-models/document-view.js +0 -375
  257. package/dist/src/read-models/document-view.js.map +0 -1
  258. package/dist/src/read-models/interfaces.js +0 -2
  259. package/dist/src/read-models/interfaces.js.map +0 -1
  260. package/dist/src/read-models/types.js +0 -2
  261. package/dist/src/read-models/types.js.map +0 -1
  262. package/dist/src/registry/implementation.js +0 -216
  263. package/dist/src/registry/implementation.js.map +0 -1
  264. package/dist/src/registry/index.js +0 -2
  265. package/dist/src/registry/index.js.map +0 -1
  266. package/dist/src/registry/interfaces.js +0 -2
  267. package/dist/src/registry/interfaces.js.map +0 -1
  268. package/dist/src/shared/awaiter.js +0 -123
  269. package/dist/src/shared/awaiter.js.map +0 -1
  270. package/dist/src/shared/consistency-tracker.js +0 -123
  271. package/dist/src/shared/consistency-tracker.js.map +0 -1
  272. package/dist/src/shared/errors.js +0 -75
  273. package/dist/src/shared/errors.js.map +0 -1
  274. package/dist/src/shared/factories.js +0 -33
  275. package/dist/src/shared/factories.js.map +0 -1
  276. package/dist/src/shared/types.js +0 -38
  277. package/dist/src/shared/types.js.map +0 -1
  278. package/dist/src/shared/utils.js +0 -8
  279. package/dist/src/shared/utils.js.map +0 -1
  280. package/dist/src/signer/passthrough-signer.js +0 -19
  281. package/dist/src/signer/passthrough-signer.js.map +0 -1
  282. package/dist/src/signer/types.js +0 -2
  283. package/dist/src/signer/types.js.map +0 -1
  284. package/dist/src/storage/consistency-aware-legacy-storage.d.ts +0 -33
  285. package/dist/src/storage/consistency-aware-legacy-storage.d.ts.map +0 -1
  286. package/dist/src/storage/consistency-aware-legacy-storage.js +0 -65
  287. package/dist/src/storage/consistency-aware-legacy-storage.js.map +0 -1
  288. package/dist/src/storage/index.js +0 -3
  289. package/dist/src/storage/index.js.map +0 -1
  290. package/dist/src/storage/interfaces.js +0 -19
  291. package/dist/src/storage/interfaces.js.map +0 -1
  292. package/dist/src/storage/kysely/document-indexer.js +0 -350
  293. package/dist/src/storage/kysely/document-indexer.js.map +0 -1
  294. package/dist/src/storage/kysely/keyframe-store.js +0 -64
  295. package/dist/src/storage/kysely/keyframe-store.js.map +0 -1
  296. package/dist/src/storage/kysely/store.js +0 -233
  297. package/dist/src/storage/kysely/store.js.map +0 -1
  298. package/dist/src/storage/kysely/sync-cursor-storage.js +0 -93
  299. package/dist/src/storage/kysely/sync-cursor-storage.js.map +0 -1
  300. package/dist/src/storage/kysely/sync-remote-storage.js +0 -133
  301. package/dist/src/storage/kysely/sync-remote-storage.js.map +0 -1
  302. package/dist/src/storage/kysely/types.js +0 -2
  303. package/dist/src/storage/kysely/types.js.map +0 -1
  304. package/dist/src/storage/migrations/001_create_operation_table.js +0 -41
  305. package/dist/src/storage/migrations/001_create_operation_table.js.map +0 -1
  306. package/dist/src/storage/migrations/002_create_keyframe_table.js +0 -27
  307. package/dist/src/storage/migrations/002_create_keyframe_table.js.map +0 -1
  308. package/dist/src/storage/migrations/003_create_document_table.js +0 -10
  309. package/dist/src/storage/migrations/003_create_document_table.js.map +0 -1
  310. package/dist/src/storage/migrations/004_create_document_relationship_table.js +0 -35
  311. package/dist/src/storage/migrations/004_create_document_relationship_table.js.map +0 -1
  312. package/dist/src/storage/migrations/005_create_indexer_state_table.js +0 -10
  313. package/dist/src/storage/migrations/005_create_indexer_state_table.js.map +0 -1
  314. package/dist/src/storage/migrations/006_create_document_snapshot_table.js +0 -49
  315. package/dist/src/storage/migrations/006_create_document_snapshot_table.js.map +0 -1
  316. package/dist/src/storage/migrations/007_create_slug_mapping_table.js +0 -24
  317. package/dist/src/storage/migrations/007_create_slug_mapping_table.js.map +0 -1
  318. package/dist/src/storage/migrations/008_create_view_state_table.js +0 -10
  319. package/dist/src/storage/migrations/008_create_view_state_table.js.map +0 -1
  320. package/dist/src/storage/migrations/009_create_operation_index_tables.js +0 -50
  321. package/dist/src/storage/migrations/009_create_operation_index_tables.js.map +0 -1
  322. package/dist/src/storage/migrations/010_create_sync_tables.js +0 -43
  323. package/dist/src/storage/migrations/010_create_sync_tables.js.map +0 -1
  324. package/dist/src/storage/migrations/index.js +0 -3
  325. package/dist/src/storage/migrations/index.js.map +0 -1
  326. package/dist/src/storage/migrations/migrator.js +0 -78
  327. package/dist/src/storage/migrations/migrator.js.map +0 -1
  328. package/dist/src/storage/migrations/run-migrations.js +0 -58
  329. package/dist/src/storage/migrations/run-migrations.js.map +0 -1
  330. package/dist/src/storage/migrations/types.js +0 -2
  331. package/dist/src/storage/migrations/types.js.map +0 -1
  332. package/dist/src/storage/txn.js +0 -42
  333. package/dist/src/storage/txn.js.map +0 -1
  334. package/dist/src/subs/default-error-handler.js +0 -27
  335. package/dist/src/subs/default-error-handler.js.map +0 -1
  336. package/dist/src/subs/react-subscription-manager.js +0 -185
  337. package/dist/src/subs/react-subscription-manager.js.map +0 -1
  338. package/dist/src/subs/subscription-notification-read-model.js +0 -62
  339. package/dist/src/subs/subscription-notification-read-model.js.map +0 -1
  340. package/dist/src/subs/types.js +0 -2
  341. package/dist/src/subs/types.js.map +0 -1
  342. package/dist/src/sync/channels/composite-channel-factory.d.ts +0 -30
  343. package/dist/src/sync/channels/composite-channel-factory.d.ts.map +0 -1
  344. package/dist/src/sync/channels/composite-channel-factory.js +0 -87
  345. package/dist/src/sync/channels/composite-channel-factory.js.map +0 -1
  346. package/dist/src/sync/channels/gql-channel-factory.d.ts +0 -25
  347. package/dist/src/sync/channels/gql-channel-factory.d.ts.map +0 -1
  348. package/dist/src/sync/channels/gql-channel-factory.js +0 -76
  349. package/dist/src/sync/channels/gql-channel-factory.js.map +0 -1
  350. package/dist/src/sync/channels/gql-channel.d.ts +0 -118
  351. package/dist/src/sync/channels/gql-channel.d.ts.map +0 -1
  352. package/dist/src/sync/channels/gql-channel.js +0 -423
  353. package/dist/src/sync/channels/gql-channel.js.map +0 -1
  354. package/dist/src/sync/channels/index.js +0 -6
  355. package/dist/src/sync/channels/index.js.map +0 -1
  356. package/dist/src/sync/channels/polling-channel.d.ts +0 -39
  357. package/dist/src/sync/channels/polling-channel.d.ts.map +0 -1
  358. package/dist/src/sync/channels/polling-channel.js +0 -72
  359. package/dist/src/sync/channels/polling-channel.js.map +0 -1
  360. package/dist/src/sync/channels/utils.js +0 -96
  361. package/dist/src/sync/channels/utils.js.map +0 -1
  362. package/dist/src/sync/errors.js +0 -17
  363. package/dist/src/sync/errors.js.map +0 -1
  364. package/dist/src/sync/index.js +0 -9
  365. package/dist/src/sync/index.js.map +0 -1
  366. package/dist/src/sync/interfaces.js +0 -2
  367. package/dist/src/sync/interfaces.js.map +0 -1
  368. package/dist/src/sync/mailbox.js +0 -59
  369. package/dist/src/sync/mailbox.js.map +0 -1
  370. package/dist/src/sync/sync-builder.js +0 -39
  371. package/dist/src/sync/sync-builder.js.map +0 -1
  372. package/dist/src/sync/sync-manager.js +0 -266
  373. package/dist/src/sync/sync-manager.js.map +0 -1
  374. package/dist/src/sync/sync-operation.js +0 -63
  375. package/dist/src/sync/sync-operation.js.map +0 -1
  376. package/dist/src/sync/types.js +0 -16
  377. package/dist/src/sync/types.js.map +0 -1
  378. package/dist/src/sync/utils.js +0 -78
  379. package/dist/src/sync/utils.js.map +0 -1
  380. package/dist/src/utils/reshuffle.js +0 -47
  381. package/dist/src/utils/reshuffle.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"keyframe-store.d.ts","sourceRoot":"","sources":["../../../../src/storage/kysely/keyframe-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,qBAAa,mBAAoB,YAAW,cAAc;IAC5C,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;IAElC,WAAW,CACf,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,UAAU,EACpB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IAuBV,mBAAmB,CACvB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAA;KAAE,GAAG,SAAS,CAAC;IA0B5D,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC;CAmBnB"}
1
+ {"version":3,"file":"keyframe-store.d.ts","sourceRoot":"","sources":["../../../../src/storage/kysely/keyframe-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,qBAAa,mBAAoB,YAAW,cAAc;IAG5C,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,mBAAmB;IAM1D,WAAW,CACf,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,UAAU,EACpB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IAuBV,mBAAmB,CACvB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAA;KAAE,GAAG,SAAS,CAAC;IA0B5D,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CACR,KAAK,CAAC;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,UAAU,CAAC;KACtB,CAAC,CACH;IA4BK,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC;CAmBnB"}
@@ -1,12 +1,17 @@
1
- import { type Operation } from "document-model";
2
- import type { Kysely } from "kysely";
3
- import { type AtomicTxn, type DocumentRevisions, type IOperationStore, type OperationWithContext, type PagedResults, type PagingOptions } from "../interfaces.js";
1
+ import { type Operation, type OperationWithContext } from "document-model";
2
+ import { type Kysely, type Transaction } from "kysely";
3
+ import type { PagedResults, PagingOptions } from "../../shared/types.js";
4
+ import { type AtomicTxn, type DocumentRevisions, type IOperationStore, type OperationFilter } from "../interfaces.js";
4
5
  import type { Database } from "./types.js";
5
6
  export declare class KyselyOperationStore implements IOperationStore {
6
7
  private db;
8
+ private trx?;
7
9
  constructor(db: Kysely<Database>);
10
+ private get queryExecutor();
11
+ withTransaction(trx: Transaction<Database>): KyselyOperationStore;
8
12
  apply(documentId: string, documentType: string, scope: string, branch: string, revision: number, fn: (txn: AtomicTxn) => void | Promise<void>, signal?: AbortSignal): Promise<void>;
9
- getSince(documentId: string, scope: string, branch: string, revision: number, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<Operation>>;
13
+ private executeApply;
14
+ getSince(documentId: string, scope: string, branch: string, revision: number, filter?: OperationFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<Operation>>;
10
15
  getSinceId(id: number, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationWithContext>>;
11
16
  getConflicting(documentId: string, scope: string, branch: string, minTimestamp: string, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<Operation>>;
12
17
  getRevisions(documentId: string, branch: string, signal?: AbortSignal): Promise<DocumentRevisions>;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/storage/kysely/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAC;AAEzD,qBAAa,oBAAqB,YAAW,eAAe;IAC9C,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;IAElC,KAAK,CACT,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC5C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IAkEV,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAoD7B,UAAU,CACd,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAiDxC,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IA+C7B,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,iBAAiB,CAAC;IA2C7B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,yBAAyB;CAYlC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/storage/kysely/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAO,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAC;AAEzD,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;IAM3D,KAAK,CACT,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC5C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;YA4BF,YAAY;IAkEpB,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,eAAe,EACxB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IA2F7B,UAAU,CACd,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAwDxC,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IA8D7B,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,iBAAiB,CAAC;IA2C7B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,yBAAyB;CAYlC"}
@@ -6,7 +6,7 @@ export declare class KyselySyncCursorStorage implements ISyncCursorStorage {
6
6
  private readonly db;
7
7
  constructor(db: Kysely<Database>);
8
8
  list(remoteName: string, signal?: AbortSignal): Promise<RemoteCursor[]>;
9
- get(remoteName: string, signal?: AbortSignal): Promise<RemoteCursor>;
9
+ get(remoteName: string, cursorType: "inbox" | "outbox", signal?: AbortSignal): Promise<RemoteCursor>;
10
10
  upsert(cursor: RemoteCursor, signal?: AbortSignal): Promise<void>;
11
11
  remove(remoteName: string, signal?: AbortSignal): Promise<void>;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sync-cursor-storage.d.ts","sourceRoot":"","sources":["../../../../src/storage/kysely/sync-cursor-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAuC,MAAM,YAAY,CAAC;AAsBhF,qBAAa,uBAAwB,YAAW,kBAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;IAE3C,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC;IAkBpB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAyBpE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBjE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBtE"}
1
+ {"version":3,"file":"sync-cursor-storage.d.ts","sourceRoot":"","sources":["../../../../src/storage/kysely/sync-cursor-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAuC,MAAM,YAAY,CAAC;AAwBhF,qBAAa,uBAAwB,YAAW,kBAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;IAE3C,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC;IAkBpB,GAAG,CACP,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,OAAO,GAAG,QAAQ,EAC9B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC;IA2BlB,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBjE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBtE"}
@@ -0,0 +1,17 @@
1
+ import type { Kysely } from "kysely";
2
+ import type { PagingOptions, PagedResults } from "../../shared/types.js";
3
+ import type { DeadLetterRecord } from "../interfaces.js";
4
+ import type { ISyncDeadLetterStorage } from "../interfaces.js";
5
+ import type { Database } from "./types.js";
6
+ /**
7
+ * PGlite/Kysely-backed implementation of {@link ISyncDeadLetterStorage}.
8
+ */
9
+ export declare class KyselySyncDeadLetterStorage implements ISyncDeadLetterStorage {
10
+ private readonly db;
11
+ constructor(db: Kysely<Database>);
12
+ list(remoteName: string, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<DeadLetterRecord>>;
13
+ add(deadLetter: DeadLetterRecord, signal?: AbortSignal): Promise<void>;
14
+ remove(id: string, signal?: AbortSignal): Promise<void>;
15
+ removeByRemote(remoteName: string, signal?: AbortSignal): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=sync-dead-letter-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-dead-letter-storage.d.ts","sourceRoot":"","sources":["../../../../src/storage/kysely/sync-dead-letter-storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EACV,QAAQ,EAGT,MAAM,YAAY,CAAC;AAkCpB;;GAEG;AACH,qBAAa,2BAA4B,YAAW,sBAAsB;IAC5D,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;IAE3C,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAsCpC,GAAG,CAAC,UAAU,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBtE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvD,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;CAgBjB"}
@@ -45,6 +45,7 @@ export interface OperationIndexOperationTable {
45
45
  skip: number;
46
46
  hash: string;
47
47
  action: unknown;
48
+ sourceRemote: Generated<string>;
48
49
  }
49
50
  export interface SyncRemoteTable {
50
51
  name: string;
@@ -69,10 +70,28 @@ export interface SyncRemoteTable {
69
70
  }
70
71
  export interface SyncCursorTable {
71
72
  remote_name: string;
73
+ cursor_type: string;
72
74
  cursor_ordinal: bigint;
73
75
  last_synced_at_utc_ms: string | null;
74
76
  updated_at: Generated<Date>;
75
77
  }
78
+ /**
79
+ * Kysely table definition for the `sync_dead_letters` table.
80
+ */
81
+ export interface SyncDeadLetterTable {
82
+ ordinal: Generated<number>;
83
+ id: string;
84
+ job_id: string;
85
+ job_dependencies: unknown;
86
+ remote_name: string;
87
+ document_id: string;
88
+ scopes: unknown;
89
+ branch: string;
90
+ operations: unknown;
91
+ error_source: string;
92
+ error_message: string;
93
+ created_at: Generated<Date>;
94
+ }
76
95
  export interface Database {
77
96
  Operation: OperationTable;
78
97
  Keyframe: KeyframeTable;
@@ -80,6 +99,7 @@ export interface Database {
80
99
  operation_index_operations: OperationIndexOperationTable;
81
100
  sync_remotes: SyncRemoteTable;
82
101
  sync_cursors: SyncCursorTable;
102
+ sync_dead_letters: SyncDeadLetterTable;
83
103
  }
84
104
  export type OperationRow = Selectable<OperationTable>;
85
105
  export type InsertableOperation = Insertable<OperationTable>;
@@ -132,4 +152,6 @@ export type UpdateableSyncRemote = Updateable<SyncRemoteTable>;
132
152
  export type SyncCursorRow = Selectable<SyncCursorTable>;
133
153
  export type InsertableSyncCursor = Insertable<SyncCursorTable>;
134
154
  export type UpdateableSyncCursor = Updateable<SyncCursorTable>;
155
+ export type SyncDeadLetterRow = Selectable<SyncDeadLetterTable>;
156
+ export type InsertableSyncDeadLetter = Insertable<SyncDeadLetterTable>;
135
157
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/storage/kysely/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/storage/kysely/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Kysely } from "kysely";
2
+ export declare function up(db: Kysely<any>): Promise<void>;
3
+ //# sourceMappingURL=011_add_cursor_type_column.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"011_add_cursor_type_column.d.ts","sourceRoot":"","sources":["../../../../src/storage/migrations/011_add_cursor_type_column.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGrC,wBAAsB,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BvD"}
@@ -0,0 +1,3 @@
1
+ import type { Kysely } from "kysely";
2
+ export declare function up(db: Kysely<any>): Promise<void>;
3
+ //# sourceMappingURL=012_add_source_remote_column.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"012_add_source_remote_column.d.ts","sourceRoot":"","sources":["../../../../src/storage/migrations/012_add_source_remote_column.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,wBAAsB,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAKvD"}
@@ -0,0 +1,3 @@
1
+ import type { Kysely } from "kysely";
2
+ export declare function up(db: Kysely<any>): Promise<void>;
3
+ //# sourceMappingURL=013_create_sync_dead_letters_table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"013_create_sync_dead_letters_table.d.ts","sourceRoot":"","sources":["../../../../src/storage/migrations/013_create_sync_dead_letters_table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGrC,wBAAsB,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCvD"}
@@ -0,0 +1,3 @@
1
+ import type { Kysely } from "kysely";
2
+ export declare function up(db: Kysely<any>): Promise<void>;
3
+ //# sourceMappingURL=014_create_processor_cursor_table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"014_create_processor_cursor_table.d.ts","sourceRoot":"","sources":["../../../../src/storage/migrations/014_create_processor_cursor_table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGrC,wBAAsB,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.d.ts","sourceRoot":"","sources":["../../../../src/storage/migrations/migrator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqB,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,cAAc,YAAY,CAAC;AA+BxC,wBAAsB,aAAa,CACjC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EACf,MAAM,GAAE,MAAuB,GAC9B,OAAO,CAAC,eAAe,CAAC,CA6C1B;AAED,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EACf,MAAM,GAAE,MAAuB,sDAShC"}
1
+ {"version":3,"file":"migrator.d.ts","sourceRoot":"","sources":["../../../../src/storage/migrations/migrator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqB,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,cAAc,YAAY,CAAC;AAuCxC,wBAAsB,aAAa,CACjC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EACf,MAAM,GAAE,MAAuB,GAC9B,OAAO,CAAC,eAAe,CAAC,CA6C1B;AAED,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EACf,MAAM,GAAE,MAAuB,sDAShC"}
@@ -1 +1 @@
1
- {"version":3,"file":"default-error-handler.d.ts","sourceRoot":"","sources":["../../../src/subs/default-error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,qBAAa,+BACX,YAAW,yBAAyB;IAEpC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI;CAcrE;AAED;;GAEG;AACH,wBAAgB,qCAAqC,IAAI,yBAAyB,CAEjF"}
1
+ {"version":3,"file":"default-error-handler.d.ts","sourceRoot":"","sources":["../../../src/subs/default-error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,qBAAa,+BAAgC,YAAW,yBAAyB;IAC/E,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI;CAcrE;AAED;;GAEG;AACH,wBAAgB,qCAAqC,IAAI,yBAAyB,CAEjF"}
@@ -1,11 +1,12 @@
1
+ import type { OperationWithContext } from "document-model";
1
2
  import type { IReadModel } from "../read-models/interfaces.js";
2
- import type { IDocumentView, OperationWithContext } from "../storage/interfaces.js";
3
+ import type { IDocumentView } from "../storage/interfaces.js";
3
4
  import type { ReactorSubscriptionManager } from "./react-subscription-manager.js";
4
5
  /**
5
6
  * A read model that notifies the subscription manager when operations are processed.
6
7
  * This bridges the gap between operation processing and subscription callbacks.
7
8
  *
8
- * Must be processed AFTER other read models have completed and AFTER OPERATIONS_READY
9
+ * Must be processed AFTER other read models have completed and AFTER READ_READY
9
10
  * is emitted, so that reactor.get() returns fresh data when callbacks fire.
10
11
  */
11
12
  export declare class SubscriptionNotificationReadModel implements IReadModel {
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-notification-read-model.d.ts","sourceRoot":"","sources":["../../../src/subs/subscription-notification-read-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAElF;;;;;;GAMG;AACH,qBAAa,iCAAkC,YAAW,UAAU;IAEhE,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,YAAY,CAAC;gBADb,mBAAmB,EAAE,0BAA0B,EAC/C,YAAY,CAAC,EAAE,aAAa,YAAA;IAGhC,eAAe,CAAC,UAAU,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CA2EzE"}
1
+ {"version":3,"file":"subscription-notification-read-model.d.ts","sourceRoot":"","sources":["../../../src/subs/subscription-notification-read-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAElF;;;;;;GAMG;AACH,qBAAa,iCAAkC,YAAW,UAAU;IAEhE,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,YAAY,CAAC;gBADb,mBAAmB,EAAE,0BAA0B,EAC/C,YAAY,CAAC,EAAE,aAAa,YAAA;IAGhC,eAAe,CAAC,UAAU,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CA2EzE"}
@@ -0,0 +1,25 @@
1
+ import type { JobFailedEvent, JobWriteReadyEvent } from "../events/types.js";
2
+ import type { ILogger } from "../logging/types.js";
3
+ export type PreparedBatch = {
4
+ /** Document ID -> Collection IDs that they are a part of */
5
+ collectionMemberships: Record<string, string[]>;
6
+ entries: Array<{
7
+ event: JobWriteReadyEvent;
8
+ jobDependencies: string[];
9
+ }>;
10
+ };
11
+ export declare class BatchAggregator {
12
+ private readonly logger;
13
+ private readonly onBatchReady;
14
+ private queue;
15
+ private processing;
16
+ private readonly pendingBatches;
17
+ constructor(logger: ILogger, onBatchReady: (batch: PreparedBatch) => Promise<void>);
18
+ enqueueWriteReady(event: JobWriteReadyEvent): Promise<void>;
19
+ handleJobFailed(event: JobFailedEvent): Promise<void>;
20
+ clear(): void;
21
+ private processQueue;
22
+ private handleWriteReady;
23
+ private prepareBatch;
24
+ }
25
+ //# sourceMappingURL=batch-aggregator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-aggregator.d.ts","sourceRoot":"","sources":["../../../src/sync/batch-aggregator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,MAAM,MAAM,aAAa,GAAG;IAC1B,4DAA4D;IAC5D,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,kBAAkB,CAAC;QAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC,CAAC;CACJ,CAAC;AAQF,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0C;IACvE,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwC;gBAGrE,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC;IAMjD,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3D,KAAK,IAAI,IAAI;YAKC,YAAY;YAyBZ,gBAAgB;IA2B9B,OAAO,CAAC,YAAY;CAmBrB"}
@@ -0,0 +1,36 @@
1
+ import { type IMailbox, type MailboxCallback } from "./mailbox.js";
2
+ import type { SyncOperation } from "./sync-operation.js";
3
+ export declare class BufferedMailbox implements IMailbox {
4
+ private itemsMap;
5
+ private addedCallbacks;
6
+ private removedCallbacks;
7
+ private addedBuffer;
8
+ private removedBuffer;
9
+ private addedTimer;
10
+ private removedTimer;
11
+ private readonly milliseconds;
12
+ private readonly maxQueued;
13
+ private paused;
14
+ private _ack;
15
+ private _latestOrdinal;
16
+ constructor(milliseconds: number, maxQueued: number);
17
+ init(ackOrdinal: number): void;
18
+ get items(): ReadonlyArray<SyncOperation>;
19
+ get ackOrdinal(): number;
20
+ get latestOrdinal(): number;
21
+ get(id: string): SyncOperation | undefined;
22
+ add(...items: SyncOperation[]): void;
23
+ remove(...items: SyncOperation[]): void;
24
+ onAdded(callback: MailboxCallback): void;
25
+ onRemoved(callback: MailboxCallback): void;
26
+ pause(): void;
27
+ resume(): void;
28
+ isPaused(): boolean;
29
+ flush(): void;
30
+ private scheduleAddedFlush;
31
+ private scheduleRemovedFlush;
32
+ private flushAdded;
33
+ private flushRemoved;
34
+ private invokeCallbacks;
35
+ }
36
+ //# sourceMappingURL=buffered-mailbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffered-mailbox.d.ts","sourceRoot":"","sources":["../../../src/sync/buffered-mailbox.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,MAAM,CAAkB;IAEhC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,cAAc,CAAa;gBAEvB,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKnD,IAAI,CAAC,UAAU,EAAE,MAAM;IAIvB,IAAI,KAAK,IAAI,aAAa,CAAC,aAAa,CAAC,CAExC;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI1C,GAAG,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI;IA+BpC,MAAM,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI;IAiBvC,OAAO,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIxC,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI1C,KAAK,IAAI,IAAI;IAYb,MAAM,IAAI,IAAI;IAUd,QAAQ,IAAI,OAAO;IAInB,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,eAAe;CAmBxB"}
@@ -0,0 +1,121 @@
1
+ import type { IOperationIndex } from "../../cache/operation-index-types.js";
2
+ import type { ILogger } from "../../logging/types.js";
3
+ import type { ISyncCursorStorage } from "../../storage/interfaces.js";
4
+ import type { ConnectionStateChangeCallback, IChannel } from "../interfaces.js";
5
+ import { type IMailbox } from "../mailbox.js";
6
+ import type { ConnectionStateSnapshot, JwtHandler, RemoteFilter } from "../types.js";
7
+ import type { IPollTimer } from "./poll-timer.js";
8
+ /**
9
+ * Configuration parameters for GqlChannel
10
+ */
11
+ export type GqlChannelConfig = {
12
+ /** The GraphQL endpoint URL */
13
+ url: string;
14
+ /** Dynamic JWT token handler for generating fresh tokens per-request */
15
+ jwtHandler?: JwtHandler;
16
+ /** Custom fetch function for testing (default: global fetch) */
17
+ fetchFn?: typeof fetch;
18
+ /** Collection ID to synchronize */
19
+ collectionId: string;
20
+ /** Filter to apply to operations */
21
+ filter: RemoteFilter;
22
+ /** Base delay in ms for exponential backoff on push retries */
23
+ retryBaseDelayMs: number;
24
+ /** Maximum delay in ms for exponential backoff on push retries */
25
+ retryMaxDelayMs: number;
26
+ };
27
+ /**
28
+ * GraphQL-based synchronization channel for network communication between reactors.
29
+ */
30
+ export declare class GqlRequestChannel implements IChannel {
31
+ private readonly logger;
32
+ readonly inbox: IMailbox;
33
+ readonly outbox: IMailbox;
34
+ readonly deadLetter: IMailbox;
35
+ readonly config: GqlChannelConfig;
36
+ private readonly bufferedOutbox;
37
+ private readonly channelId;
38
+ private readonly remoteName;
39
+ private readonly cursorStorage;
40
+ private readonly operationIndex;
41
+ private readonly pollTimer;
42
+ private isShutdown;
43
+ private failureCount;
44
+ private lastSuccessUtcMs?;
45
+ private lastFailureUtcMs?;
46
+ private lastPersistedInboxOrdinal;
47
+ private lastPersistedOutboxOrdinal;
48
+ private pushFailureCount;
49
+ private pushRetryTimer;
50
+ private pushBlocked;
51
+ private connectionState;
52
+ private readonly connectionStateCallbacks;
53
+ constructor(logger: ILogger, channelId: string, remoteName: string, cursorStorage: ISyncCursorStorage, config: GqlChannelConfig, operationIndex: IOperationIndex, pollTimer: IPollTimer);
54
+ /**
55
+ * Shuts down the channel and prevents further operations.
56
+ */
57
+ shutdown(): Promise<void>;
58
+ getConnectionState(): ConnectionStateSnapshot;
59
+ onConnectionStateChange(callback: ConnectionStateChangeCallback): () => void;
60
+ /**
61
+ * Initializes the channel by registering it on the remote server and starting polling.
62
+ */
63
+ init(): Promise<void>;
64
+ private transitionConnectionState;
65
+ /**
66
+ * Polls the remote for new sync envelopes.
67
+ */
68
+ private poll;
69
+ /**
70
+ * Handles dead letters reported by the remote server.
71
+ * Creates local dead letter SyncOperations so the channel quiesces.
72
+ */
73
+ private handleRemoteDeadLetters;
74
+ /**
75
+ * Handles polling errors with exponential backoff.
76
+ */
77
+ private handlePollError;
78
+ /**
79
+ * Recovers from a "Channel not found" error by re-registering and restarting polling.
80
+ */
81
+ private recoverFromChannelNotFound;
82
+ /**
83
+ * Queries the remote GraphQL endpoint for sync envelopes.
84
+ */
85
+ private pollSyncEnvelopes;
86
+ /**
87
+ * Registers or updates this channel on the remote server via GraphQL mutation.
88
+ */
89
+ private touchRemoteChannel;
90
+ /**
91
+ * Fire-and-forget push with retry on recoverable errors.
92
+ * On success, clears push blocked state. On recoverable error, blocks
93
+ * further pushes and schedules a retry. On unrecoverable error, moves
94
+ * ops to deadLetter.
95
+ */
96
+ private attemptPush;
97
+ /**
98
+ * Schedules a retry of all current outbox items using exponential backoff.
99
+ */
100
+ private schedulePushRetry;
101
+ /**
102
+ * Returns true if the error is recoverable (transient network/HTTP/parse
103
+ * failure). Returns false for explicit GraphQL server rejections.
104
+ */
105
+ private isRecoverablePushError;
106
+ /**
107
+ * Pushes multiple sync operations to the remote via a single GraphQL mutation.
108
+ * Creates one SyncEnvelope per SyncOperation with key/dependsOn for batch ordering.
109
+ */
110
+ private pushSyncOperations;
111
+ /**
112
+ * Gets the authorization header value using jwtHandler.
113
+ */
114
+ private getAuthorizationHeader;
115
+ /**
116
+ * Executes a GraphQL query or mutation against the remote endpoint.
117
+ */
118
+ private executeGraphQL;
119
+ get poller(): IPollTimer;
120
+ }
121
+ //# sourceMappingURL=gql-req-channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gql-req-channel.d.ts","sourceRoot":"","sources":["../../../../src/sync/channels/gql-req-channel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { IOperationIndex } from "../../cache/operation-index-types.js";
2
+ import type { ILogger } from "../../logging/types.js";
3
+ import type { IQueue } from "../../queue/interfaces.js";
4
+ import type { ISyncCursorStorage } from "../../storage/interfaces.js";
5
+ import type { IChannel, IChannelFactory } from "../interfaces.js";
6
+ import type { ChannelConfig, JwtHandler, RemoteFilter } from "../types.js";
7
+ /**
8
+ * Factory for creating GqlRequestChannel instances.
9
+ *
10
+ * Extracts GraphQL-specific configuration from ChannelConfig.parameters and
11
+ * instantiates GqlRequestChannel instances for network-based synchronization.
12
+ *
13
+ * The optional jwtHandler enables dynamic JWT token generation per-request,
14
+ * which is useful for short-lived tokens with audience-specific claims.
15
+ */
16
+ export declare class GqlRequestChannelFactory implements IChannelFactory {
17
+ private readonly logger;
18
+ private readonly jwtHandler?;
19
+ private readonly queue;
20
+ constructor(logger: ILogger, jwtHandler: JwtHandler | undefined, queue: IQueue);
21
+ /**
22
+ * Creates a new GqlRequestChannel instance with the given configuration.
23
+ * See GqlChannelConfig for the expected parameters.
24
+ *
25
+ * @param config - Channel configuration including type and parameters
26
+ * @param cursorStorage - Storage for persisting synchronization cursors
27
+ * @param operationIndex - Operation index for querying timestamps
28
+ * @returns A new GqlRequestChannel instance
29
+ */
30
+ instance(remoteId: string, remoteName: string, config: ChannelConfig, cursorStorage: ISyncCursorStorage, collectionId: string, filter: RemoteFilter, operationIndex: IOperationIndex): IChannel;
31
+ }
32
+ //# sourceMappingURL=gql-request-channel-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gql-request-channel-factory.d.ts","sourceRoot":"","sources":["../../../../src/sync/channels/gql-request-channel-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3E;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,YAAW,eAAe;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAG7B,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,KAAK,EAAE,MAAM;IAOf;;;;;;;;OAQG;IACH,QAAQ,CACN,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,kBAAkB,EACjC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,eAAe,GAC9B,QAAQ;CAgGZ"}
@@ -0,0 +1,31 @@
1
+ import type { ILogger } from "../../logging/types.js";
2
+ import type { ISyncCursorStorage } from "../../storage/interfaces.js";
3
+ import type { ConnectionStateChangeCallback, IChannel } from "../interfaces.js";
4
+ import { Mailbox } from "../mailbox.js";
5
+ import type { ConnectionStateSnapshot } from "../types.js";
6
+ /**
7
+ * This class is used server-side to accumulate inbox + outbox operations.
8
+ *
9
+ * In general, the resolvers are responsible for updating mailboxes.
10
+ */
11
+ export declare class GqlResponseChannel implements IChannel {
12
+ private readonly logger;
13
+ readonly inbox: Mailbox;
14
+ readonly outbox: Mailbox;
15
+ readonly deadLetter: Mailbox;
16
+ private readonly channelId;
17
+ private readonly remoteName;
18
+ private readonly cursorStorage;
19
+ private isShutdown;
20
+ private lastPersistedInboxOrdinal;
21
+ private lastPersistedOutboxOrdinal;
22
+ private connectionState;
23
+ private readonly connectionStateCallbacks;
24
+ constructor(logger: ILogger, channelId: string, remoteName: string, cursorStorage: ISyncCursorStorage);
25
+ shutdown(): Promise<void>;
26
+ getConnectionState(): ConnectionStateSnapshot;
27
+ onConnectionStateChange(callback: ConnectionStateChangeCallback): () => void;
28
+ private transitionConnectionState;
29
+ init(): Promise<void>;
30
+ }
31
+ //# sourceMappingURL=gql-res-channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gql-res-channel.d.ts","sourceRoot":"","sources":["../../../../src/sync/channels/gql-res-channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAmB,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAG5E;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,QAAQ;IAgB/C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAfzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAE7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,yBAAyB,CAAa;IAC9C,OAAO,CAAC,0BAA0B,CAAa;IAC/C,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAC7B;gBAGO,MAAM,EAAE,OAAO,EAChC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,kBAAkB;IAyDnC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAMzB,kBAAkB,IAAI,uBAAuB;IAW7C,uBAAuB,CAAC,QAAQ,EAAE,6BAA6B,GAAG,MAAM,IAAI;IAO5E,OAAO,CAAC,yBAAyB;IAgB3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAa5B"}
@@ -0,0 +1,13 @@
1
+ import type { ILogger } from "../../logging/types.js";
2
+ import type { ISyncCursorStorage } from "../../storage/interfaces.js";
3
+ import type { IChannel, IChannelFactory } from "../interfaces.js";
4
+ import type { ChannelConfig } from "../types.js";
5
+ /**
6
+ * Factory for creating GqlResponseChannel instances.
7
+ */
8
+ export declare class GqlResponseChannelFactory implements IChannelFactory {
9
+ private readonly logger;
10
+ constructor(logger: ILogger);
11
+ instance(remoteId: string, remoteName: string, config: ChannelConfig, cursorStorage: ISyncCursorStorage): IChannel;
12
+ }
13
+ //# sourceMappingURL=gql-response-channel-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gql-response-channel-factory.d.ts","sourceRoot":"","sources":["../../../../src/sync/channels/gql-response-channel-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD;;GAEG;AACH,qBAAa,yBAA0B,YAAW,eAAe;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAErB,MAAM,EAAE,OAAO;IAI3B,QAAQ,CACN,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,kBAAkB,GAChC,QAAQ;CAQZ"}
@@ -1,6 +1,8 @@
1
- export { PollingChannel } from "./polling-channel.js";
2
- export { GqlChannel, type GqlChannelConfig } from "./gql-channel.js";
3
- export { GqlChannelFactory } from "./gql-channel-factory.js";
4
- export { CompositeChannelFactory } from "./composite-channel-factory.js";
1
+ export { GqlRequestChannelFactory } from "./gql-request-channel-factory.js";
2
+ export { GqlResponseChannelFactory } from "./gql-response-channel-factory.js";
3
+ export { GqlRequestChannel, type GqlChannelConfig } from "./gql-req-channel.js";
4
+ export { GqlResponseChannel } from "./gql-res-channel.js";
5
+ export { IntervalPollTimer, calculateBackoffDelay, type PollTimerConfig, } from "./interval-poll-timer.js";
6
+ export { type IPollTimer } from "./poll-timer.js";
5
7
  export { envelopeToSyncOperation } from "./utils.js";
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/sync/channels/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/sync/channels/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,eAAe,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { IQueue } from "../../queue/interfaces.js";
2
+ import type { IPollTimer } from "./poll-timer.js";
3
+ export type PollTimerConfig = {
4
+ intervalMs: number;
5
+ maxQueueDepth: number;
6
+ backpressureCheckIntervalMs: number;
7
+ retryBaseDelayMs: number;
8
+ retryMaxDelayMs: number;
9
+ };
10
+ export declare function calculateBackoffDelay(consecutiveFailures: number, retryBaseDelayMs: number, retryMaxDelayMs: number, random: number): number;
11
+ /**
12
+ * Default poll timer using setTimeout.
13
+ * Waits for delegate completion before scheduling next tick.
14
+ * Checks queue depth and defers polling when backpressure is detected.
15
+ */
16
+ export declare class IntervalPollTimer implements IPollTimer {
17
+ private delegate;
18
+ private timer;
19
+ private running;
20
+ private paused;
21
+ private consecutiveFailures;
22
+ private readonly queue;
23
+ private readonly config;
24
+ constructor(queue: IQueue, config?: Partial<PollTimerConfig>);
25
+ setDelegate(delegate: () => Promise<void>): void;
26
+ start(): void;
27
+ stop(): void;
28
+ private tick;
29
+ private scheduleNext;
30
+ private scheduleRetry;
31
+ private scheduleBackpressureRecheck;
32
+ pause(): void;
33
+ resume(): void;
34
+ triggerNow(): void;
35
+ isPaused(): boolean;
36
+ isRunning(): boolean;
37
+ getIntervalMs(): number;
38
+ setIntervalMs(ms: number): void;
39
+ }
40
+ //# sourceMappingURL=interval-poll-timer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interval-poll-timer.d.ts","sourceRoot":"","sources":["../../../../src/sync/channels/interval-poll-timer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAUF,wBAAgB,qBAAqB,CACnC,mBAAmB,EAAE,MAAM,EAC3B,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,GACb,MAAM,CAMR;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IAClD,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAE7B,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM;IAQhE,WAAW,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIhD,KAAK,IAAI,IAAI;IAMb,IAAI,IAAI,IAAI;IAQZ,OAAO,CAAC,IAAI;IA6BZ,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,2BAA2B;IAQnC,KAAK,IAAI,IAAI;IAQb,MAAM,IAAI,IAAI;IAOd,UAAU,IAAI,IAAI;IAMlB,QAAQ,IAAI,OAAO;IAInB,SAAS,IAAI,OAAO;IAIpB,aAAa,IAAI,MAAM;IAIvB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAGhC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Timer that controls when polling occurs.
3
+ * GqlChannel registers a delegate; the timer invokes it when appropriate.
4
+ * The delegate returns a Promise; timer waits for completion before scheduling next tick.
5
+ */
6
+ export type IPollTimer = {
7
+ /** Register the delegate to be called on each tick. Returns Promise that timer awaits. */
8
+ setDelegate: (delegate: () => Promise<void>) => void;
9
+ /** Start the timer (begins calling delegate periodically) */
10
+ start: () => void;
11
+ /** Stop the timer */
12
+ stop: () => void;
13
+ };
14
+ //# sourceMappingURL=poll-timer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poll-timer.d.ts","sourceRoot":"","sources":["../../../../src/sync/channels/poll-timer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,0FAA0F;IAC1F,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAErD,6DAA6D;IAC7D,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,qBAAqB;IACrB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC"}