@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
@@ -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,126 @@
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 readonly abortController;
43
+ private isShutdown;
44
+ private failureCount;
45
+ private lastSuccessUtcMs?;
46
+ private lastFailureUtcMs?;
47
+ private lastPersistedInboxOrdinal;
48
+ private lastPersistedOutboxOrdinal;
49
+ private pushFailureCount;
50
+ private pushRetryTimer;
51
+ private pushBlocked;
52
+ private connectionState;
53
+ private readonly connectionStateCallbacks;
54
+ constructor(logger: ILogger, channelId: string, remoteName: string, cursorStorage: ISyncCursorStorage, config: GqlChannelConfig, operationIndex: IOperationIndex, pollTimer: IPollTimer);
55
+ /**
56
+ * Shuts down the channel and prevents further operations.
57
+ */
58
+ shutdown(): Promise<void>;
59
+ getConnectionState(): ConnectionStateSnapshot;
60
+ onConnectionStateChange(callback: ConnectionStateChangeCallback): () => void;
61
+ /**
62
+ * Initializes the channel by registering it on the remote server and starting polling.
63
+ */
64
+ init(): Promise<void>;
65
+ private transitionConnectionState;
66
+ /**
67
+ * Polls the remote for new sync envelopes.
68
+ */
69
+ private poll;
70
+ /**
71
+ * Handles dead letters reported by the remote server.
72
+ * Creates local dead letter SyncOperations so the channel quiesces.
73
+ */
74
+ private handleRemoteDeadLetters;
75
+ /**
76
+ * Handles polling errors with error classification.
77
+ * Returns true if the error was handled (caller should not rethrow).
78
+ */
79
+ private handlePollError;
80
+ /**
81
+ * Recovers from a "Channel not found" error by re-registering and restarting polling.
82
+ * Self-retries with backoff instead of restarting the poll timer on failure.
83
+ */
84
+ private recoverFromChannelNotFound;
85
+ /**
86
+ * Queries the remote GraphQL endpoint for sync envelopes.
87
+ */
88
+ private pollSyncEnvelopes;
89
+ /**
90
+ * Registers or updates this channel on the remote server via GraphQL mutation.
91
+ * Returns the remote's ack ordinal so the client can trim its outbox.
92
+ */
93
+ private touchRemoteChannel;
94
+ /**
95
+ * Fire-and-forget push with retry on recoverable errors.
96
+ * On success, clears push blocked state. On recoverable error, blocks
97
+ * further pushes and schedules a retry. On unrecoverable error, moves
98
+ * ops to deadLetter.
99
+ */
100
+ private attemptPush;
101
+ /**
102
+ * Schedules a retry of all current outbox items using exponential backoff.
103
+ */
104
+ private schedulePushRetry;
105
+ /**
106
+ * Classifies an error as recoverable or unrecoverable based on its type.
107
+ * Recoverable errors are transient and worth retrying (network, 5xx, parse).
108
+ * Unrecoverable errors will not self-heal (auth, client errors, GraphQL rejections).
109
+ */
110
+ private classifyError;
111
+ /**
112
+ * Pushes multiple sync operations to the remote via a single GraphQL mutation.
113
+ * Creates one SyncEnvelope per SyncOperation with key/dependsOn for batch ordering.
114
+ */
115
+ private pushSyncOperations;
116
+ /**
117
+ * Gets the authorization header value using jwtHandler.
118
+ */
119
+ private getAuthorizationHeader;
120
+ /**
121
+ * Executes a GraphQL query or mutation against the remote endpoint.
122
+ */
123
+ private executeGraphQL;
124
+ get poller(): IPollTimer;
125
+ }
126
+ //# 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"}