@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,39 +1,86 @@
1
- import type { Operation, PHDocument } from "document-model";
2
- import type { ConsistencyToken } from "../shared/types.js";
1
+ import type { Operation, OperationWithContext, PHDocument } from "document-model";
2
+ import type { ConsistencyToken, PagedResults, PagingOptions } from "../shared/types.js";
3
+ import type { ChannelErrorSource } from "../sync/types.js";
3
4
  import type { RemoteCursor, RemoteRecord } from "../sync/types.js";
4
- export type OperationContext = {
5
- documentId: string;
6
- documentType: string;
7
- scope: string;
8
- branch: string;
9
- resultingState?: string;
10
- ordinal: number;
11
- };
12
- export type OperationWithContext = {
13
- operation: Operation;
14
- context: OperationContext;
15
- };
5
+ export type { PagedResults, PagingOptions } from "../shared/types.js";
6
+ /**
7
+ * Thrown when an operation with the same identity already exists in the store.
8
+ */
16
9
  export declare class DuplicateOperationError extends Error {
17
10
  constructor(description: string);
18
11
  }
12
+ /**
13
+ * Thrown when a concurrent write conflict is detected during an atomic apply.
14
+ */
19
15
  export declare class OptimisticLockError extends Error {
20
16
  constructor(message: string);
21
17
  }
18
+ /**
19
+ * Thrown when the caller-provided revision does not match the current
20
+ * stored revision, indicating a stale read.
21
+ */
22
22
  export declare class RevisionMismatchError extends Error {
23
23
  constructor(expected: number, actual: number);
24
24
  }
25
+ /**
26
+ * A write transaction passed to {@link IOperationStore.apply}. Accumulates
27
+ * operations that are committed atomically when the callback returns.
28
+ */
25
29
  export interface AtomicTxn {
30
+ /** Stages one or more operations to be written as part of this transaction. */
26
31
  addOperations(...operations: Operation[]): void;
27
32
  }
33
+ /**
34
+ * Per-scope revision map for a document, used to reconstruct the header
35
+ * revision field and lastModified timestamp.
36
+ */
28
37
  export type DocumentRevisions = {
29
38
  /** Map of scope to operation index for that scope */
30
39
  revision: Record<string, number>;
31
40
  /** Latest timestamp across revisions */
32
41
  latestTimestamp: string;
33
42
  };
43
+ /**
44
+ * Append-only store for document operations. Operations are partitioned by
45
+ * (documentId, scope, branch) and ordered by a monotonic revision index.
46
+ */
34
47
  export interface IOperationStore {
48
+ /**
49
+ * Atomically appends operations for a single document/scope/branch.
50
+ * The provided revision must match the current head; otherwise a
51
+ * {@link RevisionMismatchError} is thrown.
52
+ *
53
+ * @param documentId - The document id
54
+ * @param documentType - The document type identifier
55
+ * @param scope - The operation scope (e.g. "global", "local")
56
+ * @param branch - The branch name
57
+ * @param revision - Expected current revision (optimistic lock)
58
+ * @param fn - Callback that stages operations via {@link AtomicTxn}
59
+ * @param signal - Optional abort signal to cancel the request
60
+ */
35
61
  apply(documentId: string, documentType: string, scope: string, branch: string, revision: number, fn: (txn: AtomicTxn) => void | Promise<void>, signal?: AbortSignal): Promise<void>;
36
- getSince(documentId: string, scope: string, branch: string, revision: number, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<Operation>>;
62
+ /**
63
+ * Returns operations for a document/scope/branch whose index is greater
64
+ * than the given revision.
65
+ *
66
+ * @param documentId - The document id
67
+ * @param scope - The operation scope
68
+ * @param branch - The branch name
69
+ * @param revision - Return operations after this revision index
70
+ * @param filter - Optional filters (action types, timestamp range)
71
+ * @param paging - Optional paging options for cursor-based pagination
72
+ * @param signal - Optional abort signal to cancel the request
73
+ */
74
+ getSince(documentId: string, scope: string, branch: string, revision: number, filter?: OperationFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<Operation>>;
75
+ /**
76
+ * Returns operations across all documents whose auto-increment store id
77
+ * is greater than the given id. Used by read models and sync to catch up
78
+ * on operations they may have missed.
79
+ *
80
+ * @param id - Return operations with store id greater than this value
81
+ * @param paging - Optional paging options for cursor-based pagination
82
+ * @param signal - Optional abort signal to cancel the request
83
+ */
37
84
  getSinceId(id: number, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationWithContext>>;
38
85
  /**
39
86
  * Gets operations that may conflict with incoming operations during a load.
@@ -59,51 +106,106 @@ export interface IOperationStore {
59
106
  */
60
107
  getRevisions(documentId: string, branch: string, signal?: AbortSignal): Promise<DocumentRevisions>;
61
108
  }
109
+ /**
110
+ * Stores periodic document snapshots (keyframes) so that document state
111
+ * can be reconstructed without replaying the full operation history.
112
+ */
62
113
  export interface IKeyframeStore {
114
+ /**
115
+ * Stores a document snapshot at a specific revision.
116
+ *
117
+ * @param documentId - The document id
118
+ * @param scope - The operation scope
119
+ * @param branch - The branch name
120
+ * @param revision - The operation index this snapshot corresponds to
121
+ * @param document - The full document state to persist
122
+ * @param signal - Optional abort signal to cancel the request
123
+ */
63
124
  putKeyframe(documentId: string, scope: string, branch: string, revision: number, document: PHDocument, signal?: AbortSignal): Promise<void>;
125
+ /**
126
+ * Finds the keyframe closest to (but not exceeding) the target revision.
127
+ * Returns undefined if no keyframe exists for this document/scope/branch.
128
+ *
129
+ * @param documentId - The document id
130
+ * @param scope - The operation scope
131
+ * @param branch - The branch name
132
+ * @param targetRevision - The desired revision upper bound
133
+ * @param signal - Optional abort signal to cancel the request
134
+ */
64
135
  findNearestKeyframe(documentId: string, scope: string, branch: string, targetRevision: number, signal?: AbortSignal): Promise<{
65
136
  revision: number;
66
137
  document: PHDocument;
67
138
  } | undefined>;
139
+ /**
140
+ * Lists all keyframes for a document, optionally filtered by scope and branch.
141
+ *
142
+ * @param documentId - The document id
143
+ * @param scope - Optional scope filter
144
+ * @param branch - Optional branch filter
145
+ * @param signal - Optional abort signal to cancel the request
146
+ */
147
+ listKeyframes(documentId: string, scope?: string, branch?: string, signal?: AbortSignal): Promise<Array<{
148
+ scope: string;
149
+ branch: string;
150
+ revision: number;
151
+ document: PHDocument;
152
+ }>>;
153
+ /**
154
+ * Deletes keyframes for a document. Optionally scoped to a specific
155
+ * scope and/or branch.
156
+ *
157
+ * @param documentId - The document id
158
+ * @param scope - Optional scope filter; omit to delete across all scopes
159
+ * @param branch - Optional branch filter; omit to delete across all branches
160
+ * @param signal - Optional abort signal to cancel the request
161
+ * @returns The number of keyframes deleted
162
+ */
68
163
  deleteKeyframes(documentId: string, scope?: string, branch?: string, signal?: AbortSignal): Promise<number>;
69
164
  }
165
+ /**
166
+ * Filters applied when reading document state from {@link IDocumentView}.
167
+ */
70
168
  export interface ViewFilter {
169
+ /** Branch to read from. Defaults to the main branch when omitted. */
71
170
  branch?: string;
171
+ /** Scopes to include. When omitted, all scopes are included. */
72
172
  scopes?: string[];
173
+ /** Exclude operations originating from this remote name. */
174
+ excludeSourceRemote?: string;
73
175
  }
176
+ /**
177
+ * Criteria for searching documents in storage-backed read models.
178
+ * All provided fields are combined with AND logic.
179
+ */
74
180
  export interface SearchFilter {
181
+ /** Filter by document type identifier. */
75
182
  documentType?: string;
183
+ /** Filter by parent document id. */
76
184
  parentId?: string;
185
+ /** Filter by arbitrary key-value identifiers stored on the document. */
77
186
  identifiers?: Record<string, any>;
187
+ /** When true, include soft-deleted documents in results. */
78
188
  includeDeleted?: boolean;
79
189
  }
80
- export interface PagingOptions {
81
- cursor?: string;
82
- limit?: number;
83
- }
84
- export interface PagedResults<T> {
85
- items: T[];
86
- nextCursor?: string;
87
- hasMore: boolean;
88
- }
89
- export interface DocumentSnapshot {
90
- id: string;
91
- documentId: string;
92
- slug: string | null;
93
- name: string | null;
94
- scope: string;
95
- branch: string;
96
- content: string;
97
- documentType: string;
98
- lastOperationIndex: number;
99
- lastOperationHash: string;
100
- lastUpdatedAt: Date;
101
- snapshotVersion: number;
102
- identifiers: string | null;
103
- metadata: string | null;
104
- isDeleted: boolean;
105
- deletedAt: Date | null;
190
+ /**
191
+ * Filter options for querying operations. When multiple filters are provided,
192
+ * they are combined with AND logic.
193
+ */
194
+ export interface OperationFilter {
195
+ /** Filter by action types (OR logic within array) */
196
+ actionTypes?: string[];
197
+ /** Filter operations with timestamp >= this value (ISO string) */
198
+ timestampFrom?: string;
199
+ /** Filter operations with timestamp <= this value (ISO string) */
200
+ timestampTo?: string;
201
+ /** Filter operations with index >= this value */
202
+ sinceRevision?: number;
106
203
  }
204
+ /**
205
+ * Materialised read model that maintains document snapshots. Snapshots are
206
+ * updated by indexing operations (which must include `resultingState`) and
207
+ * queried with optional consistency tokens for read-after-write guarantees.
208
+ */
107
209
  export interface IDocumentView {
108
210
  /**
109
211
  * Initializes the view.
@@ -143,6 +245,15 @@ export interface IDocumentView {
143
245
  * @param signal - Optional abort signal to cancel the request
144
246
  */
145
247
  get<TDocument extends PHDocument>(documentId: string, view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<TDocument>;
248
+ /**
249
+ * Returns the documents with the given ids.
250
+ *
251
+ * @param documentIds - The list of document ids to get.
252
+ * @param view - Optional filter containing branch and scopes information
253
+ * @param consistencyToken - Optional token for read-after-write consistency
254
+ * @param signal - Optional abort signal to cancel the request
255
+ */
256
+ getMany<TDocument extends PHDocument>(documentIds: string[], view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<TDocument[]>;
146
257
  /**
147
258
  * Returns the document with the given identifier (either id or slug).
148
259
  * Throws an error if the identifier matches both an id and a slug that refer to different documents.
@@ -174,7 +285,33 @@ export interface IDocumentView {
174
285
  * @returns The document ID or undefined if the slug doesn't exist
175
286
  */
176
287
  resolveSlug(slug: string, view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string | undefined>;
288
+ /**
289
+ * Resolves a list of slugs to document IDs.
290
+ *
291
+ * @param slugs - The list of slugs to resolve.
292
+ * @param view - Optional filter containing branch and scopes information
293
+ * @param consistencyToken - Optional token for read-after-write consistency
294
+ * @param signal - Optional abort signal to cancel the request
295
+ * @returns The list of document IDs
296
+ */
297
+ resolveSlugs(slugs: string[], view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
298
+ /**
299
+ * Resolves an identifier (either id or slug) to a document ID.
300
+ * This is a lightweight alternative to getByIdOrSlug that returns just the ID
301
+ * without fetching the full document.
302
+ *
303
+ * @param identifier - The id or slug to resolve
304
+ * @param view - Optional filter containing branch and scopes information
305
+ * @param consistencyToken - Optional token for read-after-write consistency
306
+ * @param signal - Optional abort signal to cancel the request
307
+ * @returns The document ID
308
+ * @throws {Error} If document not found or identifier matches both an ID and slug referring to different documents
309
+ */
310
+ resolveIdOrSlug(identifier: string, view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string>;
177
311
  }
312
+ /**
313
+ * A directed relationship between two documents in the document graph.
314
+ */
178
315
  export type DocumentRelationship = {
179
316
  sourceId: string;
180
317
  targetId: string;
@@ -183,15 +320,27 @@ export type DocumentRelationship = {
183
320
  createdAt: Date;
184
321
  updatedAt: Date;
185
322
  };
323
+ /**
324
+ * A lightweight directed edge in a {@link IDocumentGraph}.
325
+ */
186
326
  export type DocumentGraphEdge = {
187
327
  from: string;
188
328
  to: string;
189
329
  type: string;
190
330
  };
331
+ /**
332
+ * A subgraph of the document relationship graph, returned by traversal
333
+ * queries such as {@link IDocumentIndexer.findAncestors}.
334
+ */
191
335
  export interface IDocumentGraph {
192
336
  nodes: string[];
193
337
  edges: DocumentGraphEdge[];
194
338
  }
339
+ /**
340
+ * Read model that maintains a directed graph of document relationships.
341
+ * Relationships are created and removed by indexing operations containing
342
+ * ADD_RELATIONSHIP and REMOVE_RELATIONSHIP actions.
343
+ */
195
344
  export interface IDocumentIndexer {
196
345
  /**
197
346
  * Initializes the indexer and catches up on any missed operations.
@@ -221,7 +370,7 @@ export interface IDocumentIndexer {
221
370
  * @param consistencyToken - Optional token for read-after-write consistency
222
371
  * @param signal - Optional abort signal to cancel the request
223
372
  */
224
- getOutgoing(documentId: string, types?: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<DocumentRelationship[]>;
373
+ getOutgoing(documentId: string, types?: string[], paging?: PagingOptions, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<PagedResults<DocumentRelationship>>;
225
374
  /**
226
375
  * Returns incoming relationships to a document.
227
376
  *
@@ -230,7 +379,7 @@ export interface IDocumentIndexer {
230
379
  * @param consistencyToken - Optional token for read-after-write consistency
231
380
  * @param signal - Optional abort signal to cancel the request
232
381
  */
233
- getIncoming(documentId: string, types?: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<DocumentRelationship[]>;
382
+ getIncoming(documentId: string, types?: string[], paging?: PagingOptions, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<PagedResults<DocumentRelationship>>;
234
383
  /**
235
384
  * Checks if a relationship exists between two documents.
236
385
  *
@@ -250,7 +399,7 @@ export interface IDocumentIndexer {
250
399
  * @param consistencyToken - Optional token for read-after-write consistency
251
400
  * @param signal - Optional abort signal to cancel the request
252
401
  */
253
- getUndirectedRelationships(a: string, b: string, types?: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<DocumentRelationship[]>;
402
+ getUndirectedRelationships(a: string, b: string, types?: string[], paging?: PagingOptions, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<PagedResults<DocumentRelationship>>;
254
403
  /**
255
404
  * Returns all directed relationships between two documents.
256
405
  *
@@ -260,7 +409,7 @@ export interface IDocumentIndexer {
260
409
  * @param consistencyToken - Optional token for read-after-write consistency
261
410
  * @param signal - Optional abort signal to cancel the request
262
411
  */
263
- getDirectedRelationships(sourceId: string, targetId: string, types?: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<DocumentRelationship[]>;
412
+ getDirectedRelationships(sourceId: string, targetId: string, types?: string[], paging?: PagingOptions, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<PagedResults<DocumentRelationship>>;
264
413
  /**
265
414
  * Finds a path from source to target following directed edges.
266
415
  *
@@ -290,85 +439,9 @@ export interface IDocumentIndexer {
290
439
  getRelationshipTypes(consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
291
440
  }
292
441
  /**
293
- * A consistency-aware storage interface used by the Reactor when legacy storage
294
- * mode is enabled. This interface provides read-after-write consistency by
295
- * accepting an optional consistency token on read operations.
296
- *
297
- * This is a standalone interface (not extending IDocumentStorage) because the
298
- * method signatures differ - consistency token is added as an optional parameter
299
- * to read operations.
442
+ * Persistent storage for sync remote configurations. Each remote represents
443
+ * a connection to an external system that operations can be synced with.
300
444
  */
301
- export interface IConsistencyAwareStorage {
302
- /**
303
- * Returns the document with the given id.
304
- *
305
- * @param id - The id of the document to get
306
- * @param consistencyToken - Optional token for read-after-write consistency
307
- * @param signal - Optional abort signal to cancel the request
308
- */
309
- get<TDocument extends PHDocument>(id: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<TDocument>;
310
- /**
311
- * Returns the document with the given slug.
312
- *
313
- * @param slug - The slug of the document to get
314
- * @param consistencyToken - Optional token for read-after-write consistency
315
- * @param signal - Optional abort signal to cancel the request
316
- */
317
- getBySlug<TDocument extends PHDocument>(slug: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<TDocument>;
318
- /**
319
- * Returns true if the document exists.
320
- *
321
- * @param id - The id of the document to check
322
- * @param consistencyToken - Optional token for read-after-write consistency
323
- * @param signal - Optional abort signal to cancel the request
324
- */
325
- exists(id: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<boolean>;
326
- /**
327
- * Finds documents by their document type.
328
- *
329
- * @param type - The document type to search for
330
- * @param limit - Optional limit on the number of results
331
- * @param cursor - Optional cursor for pagination
332
- * @param consistencyToken - Optional token for read-after-write consistency
333
- * @param signal - Optional abort signal to cancel the request
334
- */
335
- findByType(type: string, limit?: number, cursor?: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<{
336
- documents: string[];
337
- nextCursor: string | undefined;
338
- }>;
339
- /**
340
- * Returns the children of a document.
341
- *
342
- * @param id - The id of the parent document
343
- * @param consistencyToken - Optional token for read-after-write consistency
344
- * @param signal - Optional abort signal to cancel the request
345
- */
346
- getChildren(id: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
347
- /**
348
- * Resolves slugs to document IDs.
349
- *
350
- * @param slugs - The slugs to resolve
351
- * @param consistencyToken - Optional token for read-after-write consistency
352
- * @param signal - Optional abort signal to cancel the request
353
- */
354
- resolveIds(slugs: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
355
- /**
356
- * Resolves document IDs to slugs.
357
- *
358
- * @param ids - The document IDs to resolve
359
- * @param consistencyToken - Optional token for read-after-write consistency
360
- * @param signal - Optional abort signal to cancel the request
361
- */
362
- resolveSlugs(ids: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
363
- /**
364
- * Returns all parent documents of the child document with the given id.
365
- *
366
- * @param childId - The id of the child document
367
- * @param consistencyToken - Optional token for read-after-write consistency
368
- * @param signal - Optional abort signal to cancel the request
369
- */
370
- getParents(childId: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
371
- }
372
445
  export interface ISyncRemoteStorage {
373
446
  /**
374
447
  * Lists all remotes.
@@ -402,6 +475,10 @@ export interface ISyncRemoteStorage {
402
475
  */
403
476
  remove(name: string, signal?: AbortSignal): Promise<void>;
404
477
  }
478
+ /**
479
+ * Persistent storage for sync cursors that track inbox/outbox progress
480
+ * per remote. Cursors allow sync to resume from where it left off.
481
+ */
405
482
  export interface ISyncCursorStorage {
406
483
  /**
407
484
  * Lists all cursors for a remote.
@@ -415,10 +492,11 @@ export interface ISyncCursorStorage {
415
492
  * Gets a cursor for a remote.
416
493
  *
417
494
  * @param remoteName - The name of the remote
495
+ * @param cursorType - The type of cursor ("inbox" or "outbox")
418
496
  * @param signal - Optional abort signal to cancel the request
419
497
  * @returns The cursor
420
498
  */
421
- get(remoteName: string, signal?: AbortSignal): Promise<RemoteCursor>;
499
+ get(remoteName: string, cursorType: "inbox" | "outbox", signal?: AbortSignal): Promise<RemoteCursor>;
422
500
  /**
423
501
  * Upserts a cursor.
424
502
  *
@@ -436,4 +514,54 @@ export interface ISyncCursorStorage {
436
514
  */
437
515
  remove(remoteName: string, signal?: AbortSignal): Promise<void>;
438
516
  }
517
+ /**
518
+ * Serializable snapshot of a permanently failed SyncOperation.
519
+ */
520
+ export type DeadLetterRecord = {
521
+ id: string;
522
+ jobId: string;
523
+ jobDependencies: string[];
524
+ remoteName: string;
525
+ documentId: string;
526
+ scopes: string[];
527
+ branch: string;
528
+ operations: OperationWithContext[];
529
+ errorSource: ChannelErrorSource;
530
+ errorMessage: string;
531
+ };
532
+ /**
533
+ * Persists dead-lettered sync operations so they survive reactor restarts.
534
+ */
535
+ export interface ISyncDeadLetterStorage {
536
+ /**
537
+ * Lists dead letters for a remote, ordered by ordinal DESC (newest first).
538
+ *
539
+ * @param remoteName - The name of the remote
540
+ * @param paging - Optional paging options (cursor + limit)
541
+ * @param signal - Optional abort signal to cancel the request
542
+ * @returns Paged dead letter records
543
+ */
544
+ list(remoteName: string, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<DeadLetterRecord>>;
545
+ /**
546
+ * Adds a dead letter. Duplicate ids are silently ignored.
547
+ *
548
+ * @param deadLetter - The dead letter record to persist
549
+ * @param signal - Optional abort signal to cancel the request
550
+ */
551
+ add(deadLetter: DeadLetterRecord, signal?: AbortSignal): Promise<void>;
552
+ /**
553
+ * Removes a single dead letter by id.
554
+ *
555
+ * @param id - The dead letter id
556
+ * @param signal - Optional abort signal to cancel the request
557
+ */
558
+ remove(id: string, signal?: AbortSignal): Promise<void>;
559
+ /**
560
+ * Removes all dead letters for a remote.
561
+ *
562
+ * @param remoteName - The name of the remote
563
+ * @param signal - Optional abort signal to cancel the request
564
+ */
565
+ removeByRemote(remoteName: string, signal?: AbortSignal): Promise<void>;
566
+ }
439
567
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/storage/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/storage/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,27 @@
1
+ import type { OperationWithContext } from "document-model";
1
2
  import type { Kysely } from "kysely";
3
+ import type { IOperationIndex } from "../../cache/operation-index-types.js";
4
+ import type { IWriteCache } from "../../cache/write/interfaces.js";
5
+ import { BaseReadModel } from "../../read-models/base-read-model.js";
6
+ import type { DocumentViewDatabase } from "../../read-models/types.js";
2
7
  import type { IConsistencyTracker } from "../../shared/consistency-tracker.js";
3
- import type { ConsistencyToken } from "../../shared/types.js";
4
- import type { DocumentRelationship, IDocumentGraph, IDocumentIndexer, IOperationStore, OperationWithContext } from "../interfaces.js";
5
- import type { Database as StorageDatabase, DocumentIndexerDatabase } from "./types.js";
6
- type Database = StorageDatabase & DocumentIndexerDatabase;
7
- export declare class KyselyDocumentIndexer implements IDocumentIndexer {
8
- private db;
9
- private operationStore;
10
- private consistencyTracker;
11
- private lastOperationId;
12
- constructor(db: Kysely<Database>, operationStore: IOperationStore, consistencyTracker: IConsistencyTracker);
13
- init(): Promise<void>;
14
- indexOperations(items: OperationWithContext[]): Promise<void>;
15
- waitForConsistency(token: ConsistencyToken, timeoutMs?: number, signal?: AbortSignal): Promise<void>;
16
- getOutgoing(documentId: string, types?: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<DocumentRelationship[]>;
17
- getIncoming(documentId: string, types?: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<DocumentRelationship[]>;
8
+ import type { ConsistencyToken, PagedResults, PagingOptions } from "../../shared/types.js";
9
+ import type { DocumentRelationship, IDocumentGraph, IDocumentIndexer } from "../interfaces.js";
10
+ import type { DocumentIndexerDatabase, Database as StorageDatabase } from "./types.js";
11
+ export type IndexerDatabase = StorageDatabase & DocumentIndexerDatabase & DocumentViewDatabase;
12
+ export declare class KyselyDocumentIndexer extends BaseReadModel implements IDocumentIndexer {
13
+ private _db;
14
+ constructor(db: Kysely<IndexerDatabase>, operationIndex: IOperationIndex, writeCache: IWriteCache, consistencyTracker: IConsistencyTracker);
15
+ protected commitOperations(items: OperationWithContext[]): Promise<void>;
16
+ getOutgoing(documentId: string, types?: string[], paging?: PagingOptions, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<PagedResults<DocumentRelationship>>;
17
+ getIncoming(documentId: string, types?: string[], paging?: PagingOptions, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<PagedResults<DocumentRelationship>>;
18
18
  hasRelationship(sourceId: string, targetId: string, types?: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<boolean>;
19
- getUndirectedRelationships(a: string, b: string, types?: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<DocumentRelationship[]>;
20
- getDirectedRelationships(sourceId: string, targetId: string, types?: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<DocumentRelationship[]>;
19
+ getUndirectedRelationships(a: string, b: string, types?: string[], paging?: PagingOptions, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<PagedResults<DocumentRelationship>>;
20
+ getDirectedRelationships(sourceId: string, targetId: string, types?: string[], paging?: PagingOptions, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<PagedResults<DocumentRelationship>>;
21
21
  findPath(sourceId: string, targetId: string, types?: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[] | null>;
22
22
  findAncestors(documentId: string, types?: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<IDocumentGraph>;
23
23
  getRelationshipTypes(consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
24
24
  private handleAddRelationship;
25
25
  private handleRemoveRelationship;
26
26
  }
27
- export {};
28
27
  //# sourceMappingURL=document-indexer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-indexer.d.ts","sourceRoot":"","sources":["../../../../src/storage/kysely/document-indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-indexer.d.ts","sourceRoot":"","sources":["../../../../src/storage/kysely/document-indexer.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,24 @@
1
1
  import type { PHDocument } from "document-model";
2
- import type { Kysely } from "kysely";
2
+ import type { Kysely, Transaction } from "kysely";
3
3
  import type { IKeyframeStore } from "../interfaces.js";
4
4
  import type { Database } from "./types.js";
5
5
  export declare class KyselyKeyframeStore implements IKeyframeStore {
6
6
  private db;
7
+ private trx?;
7
8
  constructor(db: Kysely<Database>);
9
+ private get queryExecutor();
10
+ withTransaction(trx: Transaction<Database>): KyselyKeyframeStore;
8
11
  putKeyframe(documentId: string, scope: string, branch: string, revision: number, document: PHDocument, signal?: AbortSignal): Promise<void>;
9
12
  findNearestKeyframe(documentId: string, scope: string, branch: string, targetRevision: number, signal?: AbortSignal): Promise<{
10
13
  revision: number;
11
14
  document: PHDocument;
12
15
  } | undefined>;
16
+ listKeyframes(documentId: string, scope?: string, branch?: string, signal?: AbortSignal): Promise<Array<{
17
+ scope: string;
18
+ branch: string;
19
+ revision: number;
20
+ document: PHDocument;
21
+ }>>;
13
22
  deleteKeyframes(documentId: string, scope?: string, branch?: string, signal?: AbortSignal): Promise<number>;
14
23
  }
15
24
  //# sourceMappingURL=keyframe-store.d.ts.map