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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/dist/src/admin/document-integrity-service.d.ts +17 -0
  2. package/dist/src/admin/document-integrity-service.d.ts.map +1 -0
  3. package/dist/src/admin/types.d.ts +30 -0
  4. package/dist/src/admin/types.d.ts.map +1 -0
  5. package/dist/src/cache/collection-membership-cache.d.ts +14 -0
  6. package/dist/src/cache/collection-membership-cache.d.ts.map +1 -0
  7. package/dist/src/cache/document-meta-cache.d.ts +1 -0
  8. package/dist/src/cache/document-meta-cache.d.ts.map +1 -1
  9. package/dist/src/cache/kysely-operation-index.d.ts +11 -2
  10. package/dist/src/cache/kysely-operation-index.d.ts.map +1 -1
  11. package/dist/src/cache/kysely-write-cache.d.ts +10 -2
  12. package/dist/src/cache/kysely-write-cache.d.ts.map +1 -1
  13. package/dist/src/cache/operation-index-types.d.ts +16 -2
  14. package/dist/src/cache/operation-index-types.d.ts.map +1 -1
  15. package/dist/src/cache/write/interfaces.d.ts +7 -2
  16. package/dist/src/cache/write/interfaces.d.ts.map +1 -1
  17. package/dist/src/client/reactor-client.d.ts +13 -10
  18. package/dist/src/client/reactor-client.d.ts.map +1 -1
  19. package/dist/src/client/types.d.ts +25 -6
  20. package/dist/src/client/types.d.ts.map +1 -1
  21. package/dist/src/core/reactor-builder.d.ts +23 -10
  22. package/dist/src/core/reactor-builder.d.ts.map +1 -1
  23. package/dist/src/core/reactor-client-builder.d.ts +8 -4
  24. package/dist/src/core/reactor-client-builder.d.ts.map +1 -1
  25. package/dist/src/core/reactor.d.ts +20 -80
  26. package/dist/src/core/reactor.d.ts.map +1 -1
  27. package/dist/src/core/types.d.ts +64 -28
  28. package/dist/src/core/types.d.ts.map +1 -1
  29. package/dist/src/core/utils.d.ts +39 -3
  30. package/dist/src/core/utils.d.ts.map +1 -1
  31. package/dist/src/events/types.d.ts +35 -10
  32. package/dist/src/events/types.d.ts.map +1 -1
  33. package/dist/src/executor/document-action-handler.d.ts +30 -0
  34. package/dist/src/executor/document-action-handler.d.ts.map +1 -0
  35. package/dist/src/executor/execution-scope.d.ts +44 -0
  36. package/dist/src/executor/execution-scope.d.ts.map +1 -0
  37. package/dist/src/executor/signature-verifier.d.ts +9 -0
  38. package/dist/src/executor/signature-verifier.d.ts.map +1 -0
  39. package/dist/src/executor/simple-job-executor-manager.d.ts +6 -1
  40. package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -1
  41. package/dist/src/executor/simple-job-executor.d.ts +8 -46
  42. package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
  43. package/dist/src/executor/types.d.ts +1 -3
  44. package/dist/src/executor/types.d.ts.map +1 -1
  45. package/dist/src/executor/util.d.ts +12 -2
  46. package/dist/src/executor/util.d.ts.map +1 -1
  47. package/dist/src/index.d.ts +13 -9
  48. package/dist/src/index.d.ts.map +1 -1
  49. package/dist/src/index.js +20501 -61
  50. package/dist/src/job-tracker/in-memory-job-tracker.d.ts +4 -3
  51. package/dist/src/job-tracker/in-memory-job-tracker.d.ts.map +1 -1
  52. package/dist/src/job-tracker/interfaces.d.ts +3 -1
  53. package/dist/src/job-tracker/interfaces.d.ts.map +1 -1
  54. package/dist/src/logging/console.d.ts +1 -22
  55. package/dist/src/logging/console.d.ts.map +1 -1
  56. package/dist/src/logging/types.d.ts +1 -11
  57. package/dist/src/logging/types.d.ts.map +1 -1
  58. package/dist/src/processors/index.d.ts +0 -1
  59. package/dist/src/processors/index.d.ts.map +1 -1
  60. package/dist/src/processors/processor-manager.d.ts +19 -6
  61. package/dist/src/processors/processor-manager.d.ts.map +1 -1
  62. package/dist/src/processors/utils.d.ts +3 -2
  63. package/dist/src/processors/utils.d.ts.map +1 -1
  64. package/dist/src/queue/job-execution-handle.d.ts +3 -0
  65. package/dist/src/queue/job-execution-handle.d.ts.map +1 -1
  66. package/dist/src/queue/queue.d.ts +30 -1
  67. package/dist/src/queue/queue.d.ts.map +1 -1
  68. package/dist/src/queue/types.d.ts +4 -3
  69. package/dist/src/queue/types.d.ts.map +1 -1
  70. package/dist/src/read-models/base-read-model.d.ts +11 -9
  71. package/dist/src/read-models/base-read-model.d.ts.map +1 -1
  72. package/dist/src/read-models/coordinator.d.ts +2 -2
  73. package/dist/src/read-models/coordinator.d.ts.map +1 -1
  74. package/dist/src/read-models/document-view.d.ts +7 -4
  75. package/dist/src/read-models/document-view.d.ts.map +1 -1
  76. package/dist/src/read-models/interfaces.d.ts +1 -1
  77. package/dist/src/read-models/interfaces.d.ts.map +1 -1
  78. package/dist/src/read-models/types.d.ts +16 -0
  79. package/dist/src/read-models/types.d.ts.map +1 -1
  80. package/dist/src/registry/document-model-resolver.d.ts +29 -0
  81. package/dist/src/registry/document-model-resolver.d.ts.map +1 -0
  82. package/dist/src/registry/implementation.d.ts +4 -0
  83. package/dist/src/registry/implementation.d.ts.map +1 -1
  84. package/dist/src/registry/index.d.ts +3 -1
  85. package/dist/src/registry/index.d.ts.map +1 -1
  86. package/dist/src/registry/interfaces.d.ts +8 -0
  87. package/dist/src/registry/interfaces.d.ts.map +1 -1
  88. package/dist/src/shared/awaiter.d.ts +2 -2
  89. package/dist/src/shared/awaiter.d.ts.map +1 -1
  90. package/dist/src/shared/collect-all-pages.d.ts +7 -0
  91. package/dist/src/shared/collect-all-pages.d.ts.map +1 -0
  92. package/dist/src/shared/drive-url.d.ts +15 -0
  93. package/dist/src/shared/drive-url.d.ts.map +1 -0
  94. package/dist/src/shared/errors.d.ts +9 -0
  95. package/dist/src/shared/errors.d.ts.map +1 -1
  96. package/dist/src/shared/factories.d.ts +6 -2
  97. package/dist/src/shared/factories.d.ts.map +1 -1
  98. package/dist/src/shared/types.d.ts +32 -6
  99. package/dist/src/shared/types.d.ts.map +1 -1
  100. package/dist/src/signer/passthrough-signer.d.ts +1 -1
  101. package/dist/src/signer/passthrough-signer.d.ts.map +1 -1
  102. package/dist/src/storage/interfaces.d.ts +252 -124
  103. package/dist/src/storage/interfaces.d.ts.map +1 -1
  104. package/dist/src/storage/kysely/document-indexer.d.ts +17 -18
  105. package/dist/src/storage/kysely/document-indexer.d.ts.map +1 -1
  106. package/dist/src/storage/kysely/keyframe-store.d.ts +10 -1
  107. package/dist/src/storage/kysely/keyframe-store.d.ts.map +1 -1
  108. package/dist/src/storage/kysely/store.d.ts +9 -4
  109. package/dist/src/storage/kysely/store.d.ts.map +1 -1
  110. package/dist/src/storage/kysely/sync-cursor-storage.d.ts +1 -1
  111. package/dist/src/storage/kysely/sync-cursor-storage.d.ts.map +1 -1
  112. package/dist/src/storage/kysely/sync-dead-letter-storage.d.ts +17 -0
  113. package/dist/src/storage/kysely/sync-dead-letter-storage.d.ts.map +1 -0
  114. package/dist/src/storage/kysely/types.d.ts +22 -0
  115. package/dist/src/storage/kysely/types.d.ts.map +1 -1
  116. package/dist/src/storage/migrations/011_add_cursor_type_column.d.ts +3 -0
  117. package/dist/src/storage/migrations/011_add_cursor_type_column.d.ts.map +1 -0
  118. package/dist/src/storage/migrations/012_add_source_remote_column.d.ts +3 -0
  119. package/dist/src/storage/migrations/012_add_source_remote_column.d.ts.map +1 -0
  120. package/dist/src/storage/migrations/013_create_sync_dead_letters_table.d.ts +3 -0
  121. package/dist/src/storage/migrations/013_create_sync_dead_letters_table.d.ts.map +1 -0
  122. package/dist/src/storage/migrations/014_create_processor_cursor_table.d.ts +3 -0
  123. package/dist/src/storage/migrations/014_create_processor_cursor_table.d.ts.map +1 -0
  124. package/dist/src/storage/migrations/migrator.d.ts.map +1 -1
  125. package/dist/src/subs/default-error-handler.d.ts.map +1 -1
  126. package/dist/src/subs/subscription-notification-read-model.d.ts +3 -2
  127. package/dist/src/subs/subscription-notification-read-model.d.ts.map +1 -1
  128. package/dist/src/sync/batch-aggregator.d.ts +25 -0
  129. package/dist/src/sync/batch-aggregator.d.ts.map +1 -0
  130. package/dist/src/sync/buffered-mailbox.d.ts +36 -0
  131. package/dist/src/sync/buffered-mailbox.d.ts.map +1 -0
  132. package/dist/src/sync/channels/gql-req-channel.d.ts +121 -0
  133. package/dist/src/sync/channels/gql-req-channel.d.ts.map +1 -0
  134. package/dist/src/sync/channels/gql-request-channel-factory.d.ts +32 -0
  135. package/dist/src/sync/channels/gql-request-channel-factory.d.ts.map +1 -0
  136. package/dist/src/sync/channels/gql-res-channel.d.ts +31 -0
  137. package/dist/src/sync/channels/gql-res-channel.d.ts.map +1 -0
  138. package/dist/src/sync/channels/gql-response-channel-factory.d.ts +13 -0
  139. package/dist/src/sync/channels/gql-response-channel-factory.d.ts.map +1 -0
  140. package/dist/src/sync/channels/index.d.ts +6 -4
  141. package/dist/src/sync/channels/index.d.ts.map +1 -1
  142. package/dist/src/sync/channels/interval-poll-timer.d.ts +40 -0
  143. package/dist/src/sync/channels/interval-poll-timer.d.ts.map +1 -0
  144. package/dist/src/sync/channels/poll-timer.d.ts +14 -0
  145. package/dist/src/sync/channels/poll-timer.d.ts.map +1 -0
  146. package/dist/src/sync/channels/utils.d.ts +15 -1
  147. package/dist/src/sync/channels/utils.d.ts.map +1 -1
  148. package/dist/src/sync/index.d.ts +11 -7
  149. package/dist/src/sync/index.d.ts.map +1 -1
  150. package/dist/src/sync/interfaces.d.ts +42 -19
  151. package/dist/src/sync/interfaces.d.ts.map +1 -1
  152. package/dist/src/sync/mailbox.d.ts +51 -12
  153. package/dist/src/sync/mailbox.d.ts.map +1 -1
  154. package/dist/src/sync/sync-awaiter.d.ts +34 -0
  155. package/dist/src/sync/sync-awaiter.d.ts.map +1 -0
  156. package/dist/src/sync/sync-builder.d.ts +5 -1
  157. package/dist/src/sync/sync-builder.d.ts.map +1 -1
  158. package/dist/src/sync/sync-manager.d.ts +22 -8
  159. package/dist/src/sync/sync-manager.d.ts.map +1 -1
  160. package/dist/src/sync/sync-operation.d.ts +4 -2
  161. package/dist/src/sync/sync-operation.d.ts.map +1 -1
  162. package/dist/src/sync/sync-status-tracker.d.ts +31 -0
  163. package/dist/src/sync/sync-status-tracker.d.ts.map +1 -0
  164. package/dist/src/sync/types.d.ts +107 -2
  165. package/dist/src/sync/types.d.ts.map +1 -1
  166. package/dist/src/sync/utils.d.ts +37 -2
  167. package/dist/src/sync/utils.d.ts.map +1 -1
  168. package/dist/src/utils/reshuffle.d.ts +22 -5
  169. package/dist/src/utils/reshuffle.d.ts.map +1 -1
  170. package/package.json +24 -20
  171. package/dist/src/actions/index.js +0 -76
  172. package/dist/src/actions/index.js.map +0 -1
  173. package/dist/src/cache/buffer/ring-buffer.js +0 -69
  174. package/dist/src/cache/buffer/ring-buffer.js.map +0 -1
  175. package/dist/src/cache/document-meta-cache-types.js +0 -2
  176. package/dist/src/cache/document-meta-cache-types.js.map +0 -1
  177. package/dist/src/cache/document-meta-cache.js +0 -128
  178. package/dist/src/cache/document-meta-cache.js.map +0 -1
  179. package/dist/src/cache/index.js +0 -2
  180. package/dist/src/cache/index.js.map +0 -1
  181. package/dist/src/cache/kysely-operation-index.js +0 -250
  182. package/dist/src/cache/kysely-operation-index.js.map +0 -1
  183. package/dist/src/cache/kysely-write-cache.js +0 -388
  184. package/dist/src/cache/kysely-write-cache.js.map +0 -1
  185. package/dist/src/cache/lru/lru-tracker.js +0 -96
  186. package/dist/src/cache/lru/lru-tracker.js.map +0 -1
  187. package/dist/src/cache/operation-index-types.js +0 -4
  188. package/dist/src/cache/operation-index-types.js.map +0 -1
  189. package/dist/src/cache/write/interfaces.js +0 -2
  190. package/dist/src/cache/write/interfaces.js.map +0 -1
  191. package/dist/src/cache/write-cache-types.js +0 -2
  192. package/dist/src/cache/write-cache-types.js.map +0 -1
  193. package/dist/src/client/reactor-client.js +0 -406
  194. package/dist/src/client/reactor-client.js.map +0 -1
  195. package/dist/src/client/types.js +0 -14
  196. package/dist/src/client/types.js.map +0 -1
  197. package/dist/src/core/reactor-builder.js +0 -231
  198. package/dist/src/core/reactor-builder.js.map +0 -1
  199. package/dist/src/core/reactor-client-builder.js +0 -123
  200. package/dist/src/core/reactor-client-builder.js.map +0 -1
  201. package/dist/src/core/reactor.js +0 -981
  202. package/dist/src/core/reactor.js.map +0 -1
  203. package/dist/src/core/types.js +0 -2
  204. package/dist/src/core/types.js.map +0 -1
  205. package/dist/src/core/utils.js +0 -171
  206. package/dist/src/core/utils.js.map +0 -1
  207. package/dist/src/events/event-bus.js +0 -53
  208. package/dist/src/events/event-bus.js.map +0 -1
  209. package/dist/src/events/interfaces.js +0 -2
  210. package/dist/src/events/interfaces.js.map +0 -1
  211. package/dist/src/events/types.js +0 -28
  212. package/dist/src/events/types.js.map +0 -1
  213. package/dist/src/executor/interfaces.js +0 -2
  214. package/dist/src/executor/interfaces.js.map +0 -1
  215. package/dist/src/executor/simple-job-executor-manager.js +0 -233
  216. package/dist/src/executor/simple-job-executor-manager.js.map +0 -1
  217. package/dist/src/executor/simple-job-executor.js +0 -898
  218. package/dist/src/executor/simple-job-executor.js.map +0 -1
  219. package/dist/src/executor/types.js +0 -11
  220. package/dist/src/executor/types.js.map +0 -1
  221. package/dist/src/executor/util.js +0 -184
  222. package/dist/src/executor/util.js.map +0 -1
  223. package/dist/src/index.js.map +0 -1
  224. package/dist/src/job-tracker/in-memory-job-tracker.js +0 -112
  225. package/dist/src/job-tracker/in-memory-job-tracker.js.map +0 -1
  226. package/dist/src/job-tracker/index.js +0 -2
  227. package/dist/src/job-tracker/index.js.map +0 -1
  228. package/dist/src/job-tracker/interfaces.js +0 -2
  229. package/dist/src/job-tracker/interfaces.js.map +0 -1
  230. package/dist/src/logging/console.js +0 -108
  231. package/dist/src/logging/console.js.map +0 -1
  232. package/dist/src/logging/types.js +0 -2
  233. package/dist/src/logging/types.js.map +0 -1
  234. package/dist/src/processors/index.js +0 -2
  235. package/dist/src/processors/index.js.map +0 -1
  236. package/dist/src/processors/processor-manager.js +0 -165
  237. package/dist/src/processors/processor-manager.js.map +0 -1
  238. package/dist/src/processors/types.d.ts +0 -63
  239. package/dist/src/processors/types.d.ts.map +0 -1
  240. package/dist/src/processors/types.js +0 -2
  241. package/dist/src/processors/types.js.map +0 -1
  242. package/dist/src/processors/utils.js +0 -58
  243. package/dist/src/processors/utils.js.map +0 -1
  244. package/dist/src/queue/interfaces.js +0 -2
  245. package/dist/src/queue/interfaces.js.map +0 -1
  246. package/dist/src/queue/job-execution-handle.js +0 -62
  247. package/dist/src/queue/job-execution-handle.js.map +0 -1
  248. package/dist/src/queue/queue.js +0 -384
  249. package/dist/src/queue/queue.js.map +0 -1
  250. package/dist/src/queue/types.js +0 -19
  251. package/dist/src/queue/types.js.map +0 -1
  252. package/dist/src/read-models/base-read-model.js +0 -143
  253. package/dist/src/read-models/base-read-model.js.map +0 -1
  254. package/dist/src/read-models/coordinator.js +0 -72
  255. package/dist/src/read-models/coordinator.js.map +0 -1
  256. package/dist/src/read-models/document-view.js +0 -375
  257. package/dist/src/read-models/document-view.js.map +0 -1
  258. package/dist/src/read-models/interfaces.js +0 -2
  259. package/dist/src/read-models/interfaces.js.map +0 -1
  260. package/dist/src/read-models/types.js +0 -2
  261. package/dist/src/read-models/types.js.map +0 -1
  262. package/dist/src/registry/implementation.js +0 -216
  263. package/dist/src/registry/implementation.js.map +0 -1
  264. package/dist/src/registry/index.js +0 -2
  265. package/dist/src/registry/index.js.map +0 -1
  266. package/dist/src/registry/interfaces.js +0 -2
  267. package/dist/src/registry/interfaces.js.map +0 -1
  268. package/dist/src/shared/awaiter.js +0 -123
  269. package/dist/src/shared/awaiter.js.map +0 -1
  270. package/dist/src/shared/consistency-tracker.js +0 -123
  271. package/dist/src/shared/consistency-tracker.js.map +0 -1
  272. package/dist/src/shared/errors.js +0 -75
  273. package/dist/src/shared/errors.js.map +0 -1
  274. package/dist/src/shared/factories.js +0 -33
  275. package/dist/src/shared/factories.js.map +0 -1
  276. package/dist/src/shared/types.js +0 -38
  277. package/dist/src/shared/types.js.map +0 -1
  278. package/dist/src/shared/utils.js +0 -8
  279. package/dist/src/shared/utils.js.map +0 -1
  280. package/dist/src/signer/passthrough-signer.js +0 -19
  281. package/dist/src/signer/passthrough-signer.js.map +0 -1
  282. package/dist/src/signer/types.js +0 -2
  283. package/dist/src/signer/types.js.map +0 -1
  284. package/dist/src/storage/consistency-aware-legacy-storage.d.ts +0 -33
  285. package/dist/src/storage/consistency-aware-legacy-storage.d.ts.map +0 -1
  286. package/dist/src/storage/consistency-aware-legacy-storage.js +0 -65
  287. package/dist/src/storage/consistency-aware-legacy-storage.js.map +0 -1
  288. package/dist/src/storage/index.js +0 -3
  289. package/dist/src/storage/index.js.map +0 -1
  290. package/dist/src/storage/interfaces.js +0 -19
  291. package/dist/src/storage/interfaces.js.map +0 -1
  292. package/dist/src/storage/kysely/document-indexer.js +0 -350
  293. package/dist/src/storage/kysely/document-indexer.js.map +0 -1
  294. package/dist/src/storage/kysely/keyframe-store.js +0 -64
  295. package/dist/src/storage/kysely/keyframe-store.js.map +0 -1
  296. package/dist/src/storage/kysely/store.js +0 -233
  297. package/dist/src/storage/kysely/store.js.map +0 -1
  298. package/dist/src/storage/kysely/sync-cursor-storage.js +0 -93
  299. package/dist/src/storage/kysely/sync-cursor-storage.js.map +0 -1
  300. package/dist/src/storage/kysely/sync-remote-storage.js +0 -133
  301. package/dist/src/storage/kysely/sync-remote-storage.js.map +0 -1
  302. package/dist/src/storage/kysely/types.js +0 -2
  303. package/dist/src/storage/kysely/types.js.map +0 -1
  304. package/dist/src/storage/migrations/001_create_operation_table.js +0 -41
  305. package/dist/src/storage/migrations/001_create_operation_table.js.map +0 -1
  306. package/dist/src/storage/migrations/002_create_keyframe_table.js +0 -27
  307. package/dist/src/storage/migrations/002_create_keyframe_table.js.map +0 -1
  308. package/dist/src/storage/migrations/003_create_document_table.js +0 -10
  309. package/dist/src/storage/migrations/003_create_document_table.js.map +0 -1
  310. package/dist/src/storage/migrations/004_create_document_relationship_table.js +0 -35
  311. package/dist/src/storage/migrations/004_create_document_relationship_table.js.map +0 -1
  312. package/dist/src/storage/migrations/005_create_indexer_state_table.js +0 -10
  313. package/dist/src/storage/migrations/005_create_indexer_state_table.js.map +0 -1
  314. package/dist/src/storage/migrations/006_create_document_snapshot_table.js +0 -49
  315. package/dist/src/storage/migrations/006_create_document_snapshot_table.js.map +0 -1
  316. package/dist/src/storage/migrations/007_create_slug_mapping_table.js +0 -24
  317. package/dist/src/storage/migrations/007_create_slug_mapping_table.js.map +0 -1
  318. package/dist/src/storage/migrations/008_create_view_state_table.js +0 -10
  319. package/dist/src/storage/migrations/008_create_view_state_table.js.map +0 -1
  320. package/dist/src/storage/migrations/009_create_operation_index_tables.js +0 -50
  321. package/dist/src/storage/migrations/009_create_operation_index_tables.js.map +0 -1
  322. package/dist/src/storage/migrations/010_create_sync_tables.js +0 -43
  323. package/dist/src/storage/migrations/010_create_sync_tables.js.map +0 -1
  324. package/dist/src/storage/migrations/index.js +0 -3
  325. package/dist/src/storage/migrations/index.js.map +0 -1
  326. package/dist/src/storage/migrations/migrator.js +0 -78
  327. package/dist/src/storage/migrations/migrator.js.map +0 -1
  328. package/dist/src/storage/migrations/run-migrations.js +0 -58
  329. package/dist/src/storage/migrations/run-migrations.js.map +0 -1
  330. package/dist/src/storage/migrations/types.js +0 -2
  331. package/dist/src/storage/migrations/types.js.map +0 -1
  332. package/dist/src/storage/txn.js +0 -42
  333. package/dist/src/storage/txn.js.map +0 -1
  334. package/dist/src/subs/default-error-handler.js +0 -27
  335. package/dist/src/subs/default-error-handler.js.map +0 -1
  336. package/dist/src/subs/react-subscription-manager.js +0 -185
  337. package/dist/src/subs/react-subscription-manager.js.map +0 -1
  338. package/dist/src/subs/subscription-notification-read-model.js +0 -62
  339. package/dist/src/subs/subscription-notification-read-model.js.map +0 -1
  340. package/dist/src/subs/types.js +0 -2
  341. package/dist/src/subs/types.js.map +0 -1
  342. package/dist/src/sync/channels/composite-channel-factory.d.ts +0 -30
  343. package/dist/src/sync/channels/composite-channel-factory.d.ts.map +0 -1
  344. package/dist/src/sync/channels/composite-channel-factory.js +0 -87
  345. package/dist/src/sync/channels/composite-channel-factory.js.map +0 -1
  346. package/dist/src/sync/channels/gql-channel-factory.d.ts +0 -25
  347. package/dist/src/sync/channels/gql-channel-factory.d.ts.map +0 -1
  348. package/dist/src/sync/channels/gql-channel-factory.js +0 -76
  349. package/dist/src/sync/channels/gql-channel-factory.js.map +0 -1
  350. package/dist/src/sync/channels/gql-channel.d.ts +0 -118
  351. package/dist/src/sync/channels/gql-channel.d.ts.map +0 -1
  352. package/dist/src/sync/channels/gql-channel.js +0 -423
  353. package/dist/src/sync/channels/gql-channel.js.map +0 -1
  354. package/dist/src/sync/channels/index.js +0 -6
  355. package/dist/src/sync/channels/index.js.map +0 -1
  356. package/dist/src/sync/channels/polling-channel.d.ts +0 -39
  357. package/dist/src/sync/channels/polling-channel.d.ts.map +0 -1
  358. package/dist/src/sync/channels/polling-channel.js +0 -72
  359. package/dist/src/sync/channels/polling-channel.js.map +0 -1
  360. package/dist/src/sync/channels/utils.js +0 -96
  361. package/dist/src/sync/channels/utils.js.map +0 -1
  362. package/dist/src/sync/errors.js +0 -17
  363. package/dist/src/sync/errors.js.map +0 -1
  364. package/dist/src/sync/index.js +0 -9
  365. package/dist/src/sync/index.js.map +0 -1
  366. package/dist/src/sync/interfaces.js +0 -2
  367. package/dist/src/sync/interfaces.js.map +0 -1
  368. package/dist/src/sync/mailbox.js +0 -59
  369. package/dist/src/sync/mailbox.js.map +0 -1
  370. package/dist/src/sync/sync-builder.js +0 -39
  371. package/dist/src/sync/sync-builder.js.map +0 -1
  372. package/dist/src/sync/sync-manager.js +0 -266
  373. package/dist/src/sync/sync-manager.js.map +0 -1
  374. package/dist/src/sync/sync-operation.js +0 -63
  375. package/dist/src/sync/sync-operation.js.map +0 -1
  376. package/dist/src/sync/types.js +0 -16
  377. package/dist/src/sync/types.js.map +0 -1
  378. package/dist/src/sync/utils.js +0 -78
  379. package/dist/src/sync/utils.js.map +0 -1
  380. package/dist/src/utils/reshuffle.js +0 -47
  381. package/dist/src/utils/reshuffle.js.map +0 -1
@@ -1,116 +1,56 @@
1
- import type { ILogger } from "#logging/types.js";
2
- import type { BaseDocumentDriveServer } from "document-drive";
3
1
  import type { Action, DocumentModelModule, ISigner, Operation, PHDocument } from "document-model";
2
+ import type { IEventBus } from "../events/interfaces.js";
3
+ import type { IJobExecutorManager } from "../executor/interfaces.js";
4
4
  import type { IJobTracker } from "../job-tracker/interfaces.js";
5
+ import type { ILogger } from "../logging/types.js";
5
6
  import type { IQueue } from "../queue/interfaces.js";
6
7
  import type { IReadModelCoordinator } from "../read-models/interfaces.js";
8
+ import type { IDocumentModelRegistry } from "../registry/interfaces.js";
7
9
  import type { ConsistencyToken, JobInfo, PagedResults, PagingOptions, SearchFilter, ShutdownStatus, ViewFilter } from "../shared/types.js";
8
- import type { IConsistencyAwareStorage, IDocumentIndexer, IDocumentView, IOperationStore } from "../storage/interfaces.js";
9
- import type { BatchExecutionRequest, BatchExecutionResult, IReactor, ReactorFeatures } from "./types.js";
10
+ import type { IDocumentIndexer, IDocumentView, IOperationStore, OperationFilter } from "../storage/interfaces.js";
11
+ import type { BatchExecutionRequest, BatchExecutionResult, BatchLoadRequest, BatchLoadResult, IReactor, ReactorFeatures } from "./types.js";
10
12
  /**
11
13
  * This class implements the IReactor interface and serves as the main entry point
12
14
  * for the new Reactor architecture.
13
15
  */
14
16
  export declare class Reactor implements IReactor {
15
17
  private logger;
16
- private driveServer;
17
- private documentStorage;
18
+ private documentModelRegistry;
18
19
  private shutdownStatus;
19
20
  private setShutdown;
21
+ private setCompleted;
20
22
  private queue;
21
23
  private jobTracker;
22
24
  private readModelCoordinator;
23
25
  private features;
24
26
  private documentView;
25
- private _documentIndexer;
27
+ private documentIndexer;
26
28
  private operationStore;
27
- constructor(logger: ILogger, driveServer: BaseDocumentDriveServer, documentStorage: IConsistencyAwareStorage, queue: IQueue, jobTracker: IJobTracker, readModelCoordinator: IReadModelCoordinator, features: ReactorFeatures, documentView: IDocumentView, documentIndexer: IDocumentIndexer, operationStore: IOperationStore);
28
- /**
29
- * Signals that the reactor should shutdown.
30
- */
29
+ private eventBus;
30
+ private executorManager;
31
+ constructor(logger: ILogger, documentModelRegistry: IDocumentModelRegistry, queue: IQueue, jobTracker: IJobTracker, readModelCoordinator: IReadModelCoordinator, features: ReactorFeatures, documentView: IDocumentView, documentIndexer: IDocumentIndexer, operationStore: IOperationStore, eventBus: IEventBus, executorManager: IJobExecutorManager);
31
32
  kill(): ShutdownStatus;
32
- /**
33
- * Retrieves a list of document model specifications
34
- */
35
33
  getDocumentModels(namespace?: string, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<DocumentModelModule>>;
36
- /**
37
- * Retrieves a specific PHDocument by id
38
- */
39
- get<TDocument extends PHDocument>(id: string, view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<{
40
- document: TDocument;
41
- childIds: string[];
42
- }>;
43
- /**
44
- * Retrieves a specific PHDocument by slug
45
- */
46
- getBySlug<TDocument extends PHDocument>(slug: string, view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<{
47
- document: TDocument;
48
- childIds: string[];
49
- }>;
50
- /**
51
- * Retrieves a specific PHDocument by identifier (either id or slug)
52
- */
53
- getByIdOrSlug<TDocument extends PHDocument>(identifier: string, view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<{
54
- document: TDocument;
55
- childIds: string[];
56
- }>;
57
- /**
58
- * Retrieves the operations for a document
59
- */
60
- getOperations(documentId: string, view?: ViewFilter, paging?: PagingOptions, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<Record<string, PagedResults<Operation>>>;
61
- /**
62
- * Filters documents by criteria and returns a list of them
63
- */
34
+ get<TDocument extends PHDocument>(id: string, view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<TDocument>;
35
+ getBySlug<TDocument extends PHDocument>(slug: string, view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<TDocument>;
36
+ getByIdOrSlug<TDocument extends PHDocument>(identifier: string, view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<TDocument>;
37
+ getChildren(documentId: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
38
+ getParents(childId: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
39
+ getOperations(documentId: string, view?: ViewFilter, filter?: OperationFilter, paging?: PagingOptions, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<Record<string, PagedResults<Operation>>>;
64
40
  find(search: SearchFilter, view?: ViewFilter, paging?: PagingOptions, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<PagedResults<PHDocument>>;
65
- /**
66
- * Creates a document
67
- */
68
41
  create(document: PHDocument, signer?: ISigner, signal?: AbortSignal, meta?: Record<string, unknown>): Promise<JobInfo>;
69
- /**
70
- * Deletes a document
71
- */
72
42
  deleteDocument(id: string, signer?: ISigner, signal?: AbortSignal, meta?: Record<string, unknown>): Promise<JobInfo>;
73
- /**
74
- * Applies a list of actions to a document
75
- */
76
43
  execute(docId: string, branch: string, actions: Action[], signal?: AbortSignal, meta?: Record<string, unknown>): Promise<JobInfo>;
77
- /**
78
- * Imports pre-existing operations that were produced by another reactor.
79
- * This function may cause a reshuffle, which will generate additional
80
- * operations.
81
- */
82
44
  load(docId: string, branch: string, operations: Operation[], signal?: AbortSignal, meta?: Record<string, unknown>): Promise<JobInfo>;
83
- /**
84
- * Applies multiple mutations across documents with dependency management
85
- */
86
45
  executeBatch(request: BatchExecutionRequest, signal?: AbortSignal, meta?: Record<string, unknown>): Promise<BatchExecutionResult>;
87
- /**
88
- * Adds multiple documents as children to another
89
- */
46
+ loadBatch(request: BatchLoadRequest, signal?: AbortSignal, meta?: Record<string, unknown>): Promise<BatchLoadResult>;
90
47
  addChildren(parentId: string, documentIds: string[], branch?: string, signer?: ISigner, signal?: AbortSignal): Promise<JobInfo>;
91
- /**
92
- * Removes multiple documents as children from another
93
- */
94
48
  removeChildren(parentId: string, documentIds: string[], branch?: string, signer?: ISigner, signal?: AbortSignal): Promise<JobInfo>;
95
- /**
96
- * Retrieves the status of a job
97
- */
98
49
  getJobStatus(jobId: string, signal?: AbortSignal): Promise<JobInfo>;
99
- /**
100
- * Finds documents by their IDs
101
- */
102
50
  private findByIds;
103
- /**
104
- * Finds documents by their slugs
105
- */
106
51
  private findBySlugs;
107
- /**
108
- * Finds documents by parent ID
109
- */
110
52
  private findByParentId;
111
- /**
112
- * Finds documents by type
113
- */
114
53
  private findByType;
54
+ private emitJobPending;
115
55
  }
116
56
  //# sourceMappingURL=reactor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/core/reactor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/core/reactor.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import type { BaseDocumentDriveServer, IDocumentOperationStorage, IDocumentStorage } from "document-drive";
2
1
  import type { Action, DocumentModelModule, ISigner, Operation, PHDocument } from "document-model";
3
2
  import type { Kysely } from "kysely";
3
+ import type { IProcessorManager } from "@powerhousedao/shared/processors";
4
4
  import type { IOperationIndex } from "../cache/operation-index-types.js";
5
5
  import type { IWriteCache } from "../cache/write/interfaces.js";
6
+ import type { ReactorClient } from "../client/reactor-client.js";
6
7
  import type { IEventBus } from "../events/interfaces.js";
7
8
  import type { IJobExecutorManager } from "../executor/interfaces.js";
8
9
  import type { IJobTracker } from "../job-tracker/interfaces.js";
@@ -10,16 +11,13 @@ import type { IQueue } from "../queue/interfaces.js";
10
11
  import type { IReadModelCoordinator } from "../read-models/interfaces.js";
11
12
  import type { DocumentViewDatabase } from "../read-models/types.js";
12
13
  import type { IDocumentModelRegistry } from "../registry/interfaces.js";
14
+ import type { IJobAwaiter } from "../shared/awaiter.js";
13
15
  import type { IConsistencyTracker } from "../shared/consistency-tracker.js";
14
16
  import type { ConsistencyToken, JobInfo, PagedResults, PagingOptions, SearchFilter, ShutdownStatus, ViewFilter } from "../shared/types.js";
15
- import type { IJobAwaiter } from "../shared/awaiter.js";
16
- import type { ReactorSubscriptionManager } from "../subs/react-subscription-manager.js";
17
- import type { IDocumentIndexer, IDocumentView, IKeyframeStore, IOperationStore, ISyncCursorStorage, ISyncRemoteStorage } from "../storage/interfaces.js";
17
+ import type { IDocumentIndexer, IDocumentView, IKeyframeStore, IOperationStore, ISyncCursorStorage, ISyncDeadLetterStorage, ISyncRemoteStorage, OperationFilter } from "../storage/interfaces.js";
18
18
  import type { DocumentIndexerDatabase, Database as StorageDatabase } from "../storage/kysely/types.js";
19
19
  import type { IReactorSubscriptionManager } from "../subs/types.js";
20
20
  import type { IChannelFactory, ISyncManager } from "../sync/interfaces.js";
21
- import type { ReactorClient } from "../client/reactor-client.js";
22
- import type { IProcessorManager } from "../processors/types.js";
23
21
  /**
24
22
  * A single mutation job within a batch request.
25
23
  */
@@ -43,6 +41,29 @@ export type BatchExecutionRequest = {
43
41
  export type BatchExecutionResult = {
44
42
  jobs: Record<string, JobInfo>;
45
43
  };
44
+ /**
45
+ * A single load job within a batch request.
46
+ */
47
+ export type LoadJobPlan = {
48
+ key: string;
49
+ documentId: string;
50
+ scope: string;
51
+ branch: string;
52
+ operations: Operation[];
53
+ dependsOn: string[];
54
+ };
55
+ /**
56
+ * Request for batch load operation.
57
+ */
58
+ export type BatchLoadRequest = {
59
+ jobs: LoadJobPlan[];
60
+ };
61
+ /**
62
+ * Result from batch load operation.
63
+ */
64
+ export type BatchLoadResult = {
65
+ jobs: Record<string, JobInfo>;
66
+ };
46
67
  /**
47
68
  * The main Reactor interface that serves as a facade for document operations.
48
69
  * This interface provides a unified API for document management, including
@@ -69,12 +90,9 @@ export interface IReactor {
69
90
  * @param view - Optional filter containing branch and scopes information
70
91
  * @param consistencyToken - Optional token for read-after-write consistency
71
92
  * @param signal - Optional abort signal to cancel the request
72
- * @returns The up-to-date PHDocument with scopes and list of child document ids
93
+ * @returns The up-to-date PHDocument
73
94
  */
74
- get<TDocument extends PHDocument>(id: string, view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<{
75
- document: TDocument;
76
- childIds: string[];
77
- }>;
95
+ get<TDocument extends PHDocument>(id: string, view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<TDocument>;
78
96
  /**
79
97
  * Retrieves a specific PHDocument by slug
80
98
  *
@@ -84,10 +102,7 @@ export interface IReactor {
84
102
  * @param signal - Optional abort signal to cancel the request
85
103
  * @returns The up-to-date PHDocument with scopes and list of child document ids
86
104
  */
87
- getBySlug<TDocument extends PHDocument>(slug: string, view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<{
88
- document: TDocument;
89
- childIds: string[];
90
- }>;
105
+ getBySlug<TDocument extends PHDocument>(slug: string, view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<TDocument>;
91
106
  /**
92
107
  * Retrieves a specific PHDocument by identifier (either id or slug).
93
108
  * Throws an error if the identifier matches both an id and a slug that refer to different documents.
@@ -99,21 +114,37 @@ export interface IReactor {
99
114
  * @returns The up-to-date PHDocument with scopes and list of child document ids
100
115
  * @throws {Error} If identifier matches both an ID and slug referring to different documents
101
116
  */
102
- getByIdOrSlug<TDocument extends PHDocument>(identifier: string, view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<{
103
- document: TDocument;
104
- childIds: string[];
105
- }>;
117
+ getByIdOrSlug<TDocument extends PHDocument>(identifier: string, view?: ViewFilter, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<TDocument>;
118
+ /**
119
+ * Retrieves the children of a document
120
+ *
121
+ * @param parentId - The parent document id
122
+ * @param consistencyToken - Optional token for read-after-write consistency
123
+ * @param signal - Optional abort signal to cancel the request
124
+ * @returns The list of child document ids
125
+ */
126
+ getChildren(parentId: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
127
+ /**
128
+ * Retrieves the parents of a document
129
+ *
130
+ * @param childId - The child document id
131
+ * @param consistencyToken - Optional token for read-after-write consistency
132
+ * @param signal - Optional abort signal to cancel the request
133
+ * @returns The list of parent document ids
134
+ */
135
+ getParents(childId: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
106
136
  /**
107
137
  * Retrieves the operations for a document
108
138
  *
109
139
  * @param documentId - The document id
110
140
  * @param view - Optional filter containing branch and scopes information
141
+ * @param filter - Optional filter for actionTypes, timestamps, and revision
111
142
  * @param paging - Optional pagination options
112
143
  * @param consistencyToken - Optional token for read-after-write consistency
113
144
  * @param signal - Optional abort signal to cancel the request
114
145
  * @returns The list of operations
115
146
  */
116
- getOperations(documentId: string, view?: ViewFilter, paging?: PagingOptions, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<Record<string, PagedResults<Operation>>>;
147
+ getOperations(documentId: string, view?: ViewFilter, filter?: OperationFilter, paging?: PagingOptions, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<Record<string, PagedResults<Operation>>>;
117
148
  /**
118
149
  * Filters documents by criteria and returns a list of them
119
150
  *
@@ -176,6 +207,15 @@ export interface IReactor {
176
207
  * @returns Map of job keys to job information
177
208
  */
178
209
  executeBatch(request: BatchExecutionRequest, signal?: AbortSignal, meta?: Record<string, unknown>): Promise<BatchExecutionResult>;
210
+ /**
211
+ * Loads multiple batches of pre-existing operations across documents with dependency management.
212
+ *
213
+ * @param request - Batch load request containing jobs with dependencies
214
+ * @param signal - Optional abort signal to cancel the request
215
+ * @param meta - Optional metadata that flows through the job lifecycle
216
+ * @returns Map of job keys to job information
217
+ */
218
+ loadBatch(request: BatchLoadRequest, signal?: AbortSignal, meta?: Record<string, unknown>): Promise<BatchLoadResult>;
179
219
  /**
180
220
  * Adds multiple documents as children to another
181
221
  *
@@ -210,11 +250,7 @@ export interface IReactor {
210
250
  * Feature flags for reactor configuration
211
251
  */
212
252
  export type ReactorFeatures = {
213
- /** Enable or disable legacy storage reads and writes. Default: true for backward compatibility */
214
- legacyStorageEnabled?: boolean;
215
- };
216
- export type ExecutorConfig = {
217
- count: number;
253
+ [key: string]: boolean;
218
254
  };
219
255
  /**
220
256
  * Combined database type that includes all schemas
@@ -226,6 +262,7 @@ export type Database = StorageDatabase & DocumentViewDatabase & DocumentIndexerD
226
262
  export interface SyncModule {
227
263
  remoteStorage: ISyncRemoteStorage;
228
264
  cursorStorage: ISyncCursorStorage;
265
+ deadLetterStorage: ISyncDeadLetterStorage;
229
266
  channelFactory: IChannelFactory;
230
267
  syncManager: ISyncManager;
231
268
  }
@@ -235,8 +272,6 @@ export interface SyncModule {
235
272
  * testing, or integration scenarios.
236
273
  */
237
274
  export interface ReactorModule {
238
- driveServer: BaseDocumentDriveServer;
239
- storage: IDocumentStorage & IDocumentOperationStorage;
240
275
  eventBus: IEventBus;
241
276
  documentModelRegistry: IDocumentModelRegistry;
242
277
  queue: IQueue;
@@ -252,7 +287,7 @@ export interface ReactorModule {
252
287
  documentIndexer: IDocumentIndexer;
253
288
  documentIndexerConsistencyTracker: IConsistencyTracker;
254
289
  readModelCoordinator: IReadModelCoordinator;
255
- subscriptionManager: ReactorSubscriptionManager;
290
+ subscriptionManager: IReactorSubscriptionManager;
256
291
  processorManager: IProcessorManager;
257
292
  processorManagerConsistencyTracker: IConsistencyTracker;
258
293
  syncModule: SyncModule | undefined;
@@ -268,6 +303,7 @@ export interface ReactorClientModule {
268
303
  reactor: IReactor;
269
304
  eventBus: IEventBus;
270
305
  documentIndexer: IDocumentIndexer;
306
+ documentView: IDocumentView;
271
307
  signer: ISigner;
272
308
  subscriptionManager: IReactorSubscriptionManager;
273
309
  jobAwaiter: IJobAwaiter;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Action, ISigner, Operation, PHDocument } from "document-model";
2
- import type { ErrorInfo, PagedResults } from "../shared/types.js";
2
+ import type { ErrorInfo, JobMeta, PagedResults } from "../shared/types.js";
3
3
  /**
4
4
  * Represents a minimal job plan for validation purposes
5
5
  */
@@ -8,6 +8,14 @@ export type JobPlanForValidation = {
8
8
  actions: Action[];
9
9
  dependsOn: string[];
10
10
  };
11
+ /**
12
+ * Represents a minimal load job plan for validation purposes
13
+ */
14
+ export type LoadJobPlanForValidation = {
15
+ key: string;
16
+ operations: Operation[];
17
+ dependsOn: string[];
18
+ };
11
19
  /**
12
20
  * Represents a job plan with scope information for action validation
13
21
  */
@@ -16,6 +24,14 @@ export type JobPlanWithScope = {
16
24
  scope: string;
17
25
  actions: Action[];
18
26
  };
27
+ /**
28
+ * Represents a load job plan with scope information for operation validation
29
+ */
30
+ export type LoadJobPlanWithScope = {
31
+ key: string;
32
+ scope: string;
33
+ operations: Operation[];
34
+ };
19
35
  /**
20
36
  * Represents a job plan with dependencies for topological sorting
21
37
  */
@@ -23,14 +39,27 @@ export type JobPlanForSorting = {
23
39
  key: string;
24
40
  dependsOn: string[];
25
41
  };
42
+ /**
43
+ * Validates structural properties shared by all batch requests:
44
+ * duplicate keys, missing dependencies, and dependency cycles.
45
+ */
46
+ export declare function validateBatchStructure(jobs: JobPlanForSorting[]): void;
26
47
  /**
27
48
  * Validates a batch mutation request for common errors
28
49
  */
29
50
  export declare function validateBatchRequest(jobs: JobPlanForValidation[]): void;
51
+ /**
52
+ * Validates a batch load request for common errors
53
+ */
54
+ export declare function validateBatchLoadRequest(jobs: LoadJobPlanForValidation[]): void;
30
55
  /**
31
56
  * Validates that all actions in a job match the declared scope
32
57
  */
33
58
  export declare function validateActionScopes(job: JobPlanWithScope): void;
59
+ /**
60
+ * Validates that all operations in a job match the declared scope
61
+ */
62
+ export declare function validateOperationScopes(job: LoadJobPlanWithScope): void;
34
63
  /**
35
64
  * Performs topological sort on jobs based on dependencies
36
65
  */
@@ -47,13 +76,20 @@ export declare function filterByType(results: PagedResults<PHDocument>, type: st
47
76
  * Validates that all operations share the same scope.
48
77
  * Throws an error if any operation has a different scope.
49
78
  */
50
- export declare function getSharedScope(operations: Operation[]): string;
79
+ export declare function getSharedOperationScope(operations: Operation[]): string;
80
+ /**
81
+ * Validates that all actions share the same scope.
82
+ * Throws an error if any action has a different scope.
83
+ */
84
+ export declare function getSharedActionScope(actions: Action[]): string;
51
85
  /**
52
- * Signs an action with the provided signer
86
+ * Signs an action with the provided signer.
87
+ * If the action already has valid signatures, it is returned unchanged.
53
88
  */
54
89
  export declare const signAction: (action: Action, signer: ISigner, signal?: AbortSignal) => Promise<Action>;
55
90
  /**
56
91
  * Signs multiple actions with the provided signer
57
92
  */
58
93
  export declare const signActions: (actions: Action[], signer: ISigner, signal?: AbortSignal) => Promise<Action[]>;
94
+ export declare function buildSingleJobMeta(jobId: string, callerMeta?: Record<string, unknown>): JobMeta;
59
95
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,OAAO,EACP,SAAS,EACT,UAAU,EAEX,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAiDvE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAShE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAoBnE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAW5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,EACjC,IAAI,EAAE,MAAM,GACX,YAAY,CAAC,UAAU,CAAC,CAoB1B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAgB9D;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,GACrB,QAAQ,MAAM,EACd,QAAQ,OAAO,EACf,SAAS,WAAW,KACnB,OAAO,CAAC,MAAM,CAqBhB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GACtB,SAAS,MAAM,EAAE,EACjB,QAAQ,OAAO,EACf,SAAS,WAAW,KACnB,OAAO,CAAC,MAAM,EAAE,CAIlB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,OAAO,EACP,SAAS,EACT,UAAU,EAEX,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,IAAI,CA4CtE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAOvE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,wBAAwB,EAAE,GAC/B,IAAI,CAON;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAShE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI,CASvE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAoBnE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAW5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,EACjC,IAAI,EAAE,MAAM,GACX,YAAY,CAAC,UAAU,CAAC,CAoB1B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAgBvE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAe9D;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,GACrB,QAAQ,MAAM,EACd,QAAQ,OAAO,EACf,SAAS,WAAW,KACnB,OAAO,CAAC,MAAM,CA0BhB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GACtB,SAAS,MAAM,EAAE,EACjB,QAAQ,OAAO,EACf,SAAS,WAAW,KACnB,OAAO,CAAC,MAAM,EAAE,CAIlB,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAET"}
@@ -1,4 +1,6 @@
1
- import type { OperationWithContext } from "#storage/interfaces.js";
1
+ import type { OperationWithContext } from "@powerhousedao/shared/document-model";
2
+ import type { Job } from "../queue/types.js";
3
+ import type { JobMeta } from "../shared/types.js";
2
4
  /**
3
5
  * Describes a function to unsubscribe from an event.
4
6
  */
@@ -23,25 +25,47 @@ export declare class EventBusAggregateError extends Error {
23
25
  constructor(errors: unknown[]);
24
26
  }
25
27
  /**
26
- * Event types for operation-related events.
28
+ * Event types for reactor lifecycle events.
27
29
  */
28
- export declare const OperationEventTypes: {
29
- readonly OPERATION_WRITTEN: 10001;
30
- readonly OPERATIONS_READY: 10002;
31
- readonly JOB_FAILED: 10003;
30
+ export declare const ReactorEventTypes: {
31
+ readonly JOB_PENDING: 10001;
32
+ readonly JOB_RUNNING: 10002;
33
+ readonly JOB_WRITE_READY: 10003;
34
+ readonly JOB_READ_READY: 10004;
35
+ readonly JOB_FAILED: 10005;
36
+ };
37
+ /**
38
+ * Event emitted when a job is registered and waiting to be executed.
39
+ */
40
+ export type JobPendingEvent = {
41
+ jobId: string;
42
+ jobMeta: JobMeta;
43
+ };
44
+ /**
45
+ * Event emitted when a job starts executing.
46
+ */
47
+ export type JobRunningEvent = {
48
+ jobId: string;
49
+ jobMeta: JobMeta;
32
50
  };
33
51
  /**
34
52
  * Event emitted when operations are written to IOperationStore.
35
53
  * Contains the operations directly to avoid round-trip queries.
36
54
  */
37
- export type OperationWrittenEvent = {
55
+ export type JobWriteReadyEvent = {
38
56
  jobId: string;
39
57
  operations: OperationWithContext[];
40
- jobMeta?: Record<string, unknown>;
58
+ jobMeta: JobMeta;
59
+ /**
60
+ * Maps documentId to the collection IDs it belongs to.
61
+ * Used by SyncManager to route operations only to remotes
62
+ * whose collection contains the document.
63
+ */
64
+ collectionMemberships?: Record<string, string[]>;
41
65
  };
42
66
  /**
43
67
  * Event emitted after all read models have finished processing operations.
44
- * This event fires after OPERATION_WRITTEN and guarantees that:
68
+ * This event fires after JOB_WRITE_READY and guarantees that:
45
69
  * - All read models (DocumentView, DocumentIndexer, etc.) have indexed the operations
46
70
  * - All consistency trackers have been updated with the new operation indices
47
71
  * - Queries without consistency tokens will now see the updated data
@@ -51,7 +75,7 @@ export type OperationWrittenEvent = {
51
75
  * - Observability (measuring read model latency)
52
76
  * - Event-driven workflows (triggering downstream processes)
53
77
  */
54
- export type OperationsReadyEvent = {
78
+ export type JobReadReadyEvent = {
55
79
  jobId: string;
56
80
  operations: OperationWithContext[];
57
81
  };
@@ -63,5 +87,6 @@ export type OperationsReadyEvent = {
63
87
  export type JobFailedEvent = {
64
88
  jobId: string;
65
89
  error: Error;
90
+ job?: Job;
66
91
  };
67
92
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/events/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3E;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,SAAgB,MAAM,EAAE,GAAG,EAAE,CAAC;gBAElB,MAAM,EAAE,OAAO,EAAE;CAc9B;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,oBAAoB,EAAE,CAAC;CACpC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;CACd,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/events/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3E;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,SAAgB,MAAM,EAAE,GAAG,EAAE,CAAC;gBAElB,MAAM,EAAE,OAAO,EAAE;CAc9B;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAClD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,oBAAoB,EAAE,CAAC;CACpC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,CAAC,EAAE,GAAG,CAAC;CACX,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { Action, Operation } from "document-model";
2
+ import type { IOperationIndexTxn } from "../cache/operation-index-types.js";
3
+ import type { ILogger } from "../logging/types.js";
4
+ import type { Job } from "../queue/types.js";
5
+ import type { IDocumentModelRegistry } from "../registry/interfaces.js";
6
+ import type { ExecutionStores } from "./execution-scope.js";
7
+ import type { JobResult } from "./types.js";
8
+ export declare class DocumentActionHandler {
9
+ private registry;
10
+ private logger;
11
+ constructor(registry: IDocumentModelRegistry, logger: ILogger);
12
+ execute(job: Job, action: Action, startTime: number, indexTxn: IOperationIndexTxn, stores: ExecutionStores, skip?: number, sourceRemote?: string): Promise<JobResult & {
13
+ operationsWithContext?: Array<{
14
+ operation: Operation;
15
+ context: {
16
+ documentId: string;
17
+ scope: string;
18
+ branch: string;
19
+ documentType: string;
20
+ };
21
+ }>;
22
+ }>;
23
+ private executeCreate;
24
+ private executeDelete;
25
+ private executeUpgrade;
26
+ private executeAddRelationship;
27
+ private executeRemoveRelationship;
28
+ private writeOperationToStore;
29
+ }
30
+ //# sourceMappingURL=document-action-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-action-handler.d.ts","sourceRoot":"","sources":["../../../src/executor/document-action-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAIN,SAAS,EAMV,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAE5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAY5C,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;gBADN,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,OAAO;IAGnB,OAAO,CACX,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,eAAe,EACvB,IAAI,GAAE,MAAU,EAChB,YAAY,GAAE,MAAW,GACxB,OAAO,CACR,SAAS,GAAG;QACV,qBAAqB,CAAC,EAAE,KAAK,CAAC;YAC5B,SAAS,EAAE,SAAS,CAAC;YACrB,OAAO,EAAE;gBACP,UAAU,EAAE,MAAM,CAAC;gBACnB,KAAK,EAAE,MAAM,CAAC;gBACd,MAAM,EAAE,MAAM,CAAC;gBACf,YAAY,EAAE,MAAM,CAAC;aACtB,CAAC;SACH,CAAC,CAAC;KACJ,CACF;YA0Da,aAAa;YAuGb,aAAa;YA6Hb,cAAc;YAwKd,sBAAsB;YAqJtB,yBAAyB;YA2IzB,qBAAqB;CAyCpC"}