@powerhousedao/reactor 6.0.0-dev.13 → 6.0.0-dev.131

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 (409) hide show
  1. package/dist/index.d.ts +4320 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +9442 -0
  4. package/dist/index.js.map +1 -0
  5. package/package.json +21 -20
  6. package/dist/src/actions/index.d.ts +0 -24
  7. package/dist/src/actions/index.d.ts.map +0 -1
  8. package/dist/src/actions/index.js +0 -76
  9. package/dist/src/actions/index.js.map +0 -1
  10. package/dist/src/cache/buffer/ring-buffer.d.ts +0 -37
  11. package/dist/src/cache/buffer/ring-buffer.d.ts.map +0 -1
  12. package/dist/src/cache/buffer/ring-buffer.js +0 -69
  13. package/dist/src/cache/buffer/ring-buffer.js.map +0 -1
  14. package/dist/src/cache/document-meta-cache-types.d.ts +0 -114
  15. package/dist/src/cache/document-meta-cache-types.d.ts.map +0 -1
  16. package/dist/src/cache/document-meta-cache-types.js +0 -2
  17. package/dist/src/cache/document-meta-cache-types.js.map +0 -1
  18. package/dist/src/cache/document-meta-cache.d.ts +0 -30
  19. package/dist/src/cache/document-meta-cache.d.ts.map +0 -1
  20. package/dist/src/cache/document-meta-cache.js +0 -128
  21. package/dist/src/cache/document-meta-cache.js.map +0 -1
  22. package/dist/src/cache/index.d.ts +0 -3
  23. package/dist/src/cache/index.d.ts.map +0 -1
  24. package/dist/src/cache/index.js +0 -2
  25. package/dist/src/cache/index.js.map +0 -1
  26. package/dist/src/cache/kysely-operation-index.d.ts +0 -15
  27. package/dist/src/cache/kysely-operation-index.d.ts.map +0 -1
  28. package/dist/src/cache/kysely-operation-index.js +0 -250
  29. package/dist/src/cache/kysely-operation-index.js.map +0 -1
  30. package/dist/src/cache/kysely-write-cache.d.ts +0 -134
  31. package/dist/src/cache/kysely-write-cache.d.ts.map +0 -1
  32. package/dist/src/cache/kysely-write-cache.js +0 -388
  33. package/dist/src/cache/kysely-write-cache.js.map +0 -1
  34. package/dist/src/cache/lru/lru-tracker.d.ts +0 -15
  35. package/dist/src/cache/lru/lru-tracker.d.ts.map +0 -1
  36. package/dist/src/cache/lru/lru-tracker.js +0 -96
  37. package/dist/src/cache/lru/lru-tracker.js.map +0 -1
  38. package/dist/src/cache/operation-index-types.d.ts +0 -50
  39. package/dist/src/cache/operation-index-types.d.ts.map +0 -1
  40. package/dist/src/cache/operation-index-types.js +0 -4
  41. package/dist/src/cache/operation-index-types.js.map +0 -1
  42. package/dist/src/cache/write/interfaces.d.ts +0 -83
  43. package/dist/src/cache/write/interfaces.d.ts.map +0 -1
  44. package/dist/src/cache/write/interfaces.js +0 -2
  45. package/dist/src/cache/write/interfaces.js.map +0 -1
  46. package/dist/src/cache/write-cache-types.d.ts +0 -42
  47. package/dist/src/cache/write-cache-types.d.ts.map +0 -1
  48. package/dist/src/cache/write-cache-types.js +0 -2
  49. package/dist/src/cache/write-cache-types.js.map +0 -1
  50. package/dist/src/client/reactor-client.d.ts +0 -117
  51. package/dist/src/client/reactor-client.d.ts.map +0 -1
  52. package/dist/src/client/reactor-client.js +0 -406
  53. package/dist/src/client/reactor-client.js.map +0 -1
  54. package/dist/src/client/types.d.ts +0 -241
  55. package/dist/src/client/types.d.ts.map +0 -1
  56. package/dist/src/client/types.js +0 -14
  57. package/dist/src/client/types.js.map +0 -1
  58. package/dist/src/core/reactor-builder.d.ts +0 -47
  59. package/dist/src/core/reactor-builder.d.ts.map +0 -1
  60. package/dist/src/core/reactor-builder.js +0 -231
  61. package/dist/src/core/reactor-builder.js.map +0 -1
  62. package/dist/src/core/reactor-client-builder.d.ts +0 -49
  63. package/dist/src/core/reactor-client-builder.d.ts.map +0 -1
  64. package/dist/src/core/reactor-client-builder.js +0 -123
  65. package/dist/src/core/reactor-client-builder.js.map +0 -1
  66. package/dist/src/core/reactor.d.ts +0 -116
  67. package/dist/src/core/reactor.d.ts.map +0 -1
  68. package/dist/src/core/reactor.js +0 -981
  69. package/dist/src/core/reactor.js.map +0 -1
  70. package/dist/src/core/types.d.ts +0 -276
  71. package/dist/src/core/types.d.ts.map +0 -1
  72. package/dist/src/core/types.js +0 -2
  73. package/dist/src/core/types.js.map +0 -1
  74. package/dist/src/core/utils.d.ts +0 -59
  75. package/dist/src/core/utils.d.ts.map +0 -1
  76. package/dist/src/core/utils.js +0 -171
  77. package/dist/src/core/utils.js.map +0 -1
  78. package/dist/src/events/event-bus.d.ts +0 -8
  79. package/dist/src/events/event-bus.d.ts.map +0 -1
  80. package/dist/src/events/event-bus.js +0 -53
  81. package/dist/src/events/event-bus.js.map +0 -1
  82. package/dist/src/events/interfaces.d.ts +0 -27
  83. package/dist/src/events/interfaces.d.ts.map +0 -1
  84. package/dist/src/events/interfaces.js +0 -2
  85. package/dist/src/events/interfaces.js.map +0 -1
  86. package/dist/src/events/types.d.ts +0 -67
  87. package/dist/src/events/types.d.ts.map +0 -1
  88. package/dist/src/events/types.js +0 -28
  89. package/dist/src/events/types.js.map +0 -1
  90. package/dist/src/executor/interfaces.d.ts +0 -49
  91. package/dist/src/executor/interfaces.d.ts.map +0 -1
  92. package/dist/src/executor/interfaces.js +0 -2
  93. package/dist/src/executor/interfaces.js.map +0 -1
  94. package/dist/src/executor/simple-job-executor-manager.d.ts +0 -34
  95. package/dist/src/executor/simple-job-executor-manager.d.ts.map +0 -1
  96. package/dist/src/executor/simple-job-executor-manager.js +0 -233
  97. package/dist/src/executor/simple-job-executor-manager.js.map +0 -1
  98. package/dist/src/executor/simple-job-executor.d.ts +0 -80
  99. package/dist/src/executor/simple-job-executor.d.ts.map +0 -1
  100. package/dist/src/executor/simple-job-executor.js +0 -898
  101. package/dist/src/executor/simple-job-executor.js.map +0 -1
  102. package/dist/src/executor/types.d.ts +0 -93
  103. package/dist/src/executor/types.d.ts.map +0 -1
  104. package/dist/src/executor/types.js +0 -11
  105. package/dist/src/executor/types.js.map +0 -1
  106. package/dist/src/executor/util.d.ts +0 -74
  107. package/dist/src/executor/util.d.ts.map +0 -1
  108. package/dist/src/executor/util.js +0 -184
  109. package/dist/src/executor/util.js.map +0 -1
  110. package/dist/src/index.d.ts +0 -53
  111. package/dist/src/index.d.ts.map +0 -1
  112. package/dist/src/index.js +0 -62
  113. package/dist/src/index.js.map +0 -1
  114. package/dist/src/job-tracker/in-memory-job-tracker.d.ts +0 -25
  115. package/dist/src/job-tracker/in-memory-job-tracker.d.ts.map +0 -1
  116. package/dist/src/job-tracker/in-memory-job-tracker.js +0 -112
  117. package/dist/src/job-tracker/in-memory-job-tracker.js.map +0 -1
  118. package/dist/src/job-tracker/index.d.ts +0 -3
  119. package/dist/src/job-tracker/index.d.ts.map +0 -1
  120. package/dist/src/job-tracker/index.js +0 -2
  121. package/dist/src/job-tracker/index.js.map +0 -1
  122. package/dist/src/job-tracker/interfaces.d.ts +0 -39
  123. package/dist/src/job-tracker/interfaces.d.ts.map +0 -1
  124. package/dist/src/job-tracker/interfaces.js +0 -2
  125. package/dist/src/job-tracker/interfaces.js.map +0 -1
  126. package/dist/src/logging/console.d.ts +0 -23
  127. package/dist/src/logging/console.d.ts.map +0 -1
  128. package/dist/src/logging/console.js +0 -108
  129. package/dist/src/logging/console.js.map +0 -1
  130. package/dist/src/logging/types.d.ts +0 -12
  131. package/dist/src/logging/types.d.ts.map +0 -1
  132. package/dist/src/logging/types.js +0 -2
  133. package/dist/src/logging/types.js.map +0 -1
  134. package/dist/src/processors/index.d.ts +0 -3
  135. package/dist/src/processors/index.d.ts.map +0 -1
  136. package/dist/src/processors/index.js +0 -2
  137. package/dist/src/processors/index.js.map +0 -1
  138. package/dist/src/processors/processor-manager.d.ts +0 -38
  139. package/dist/src/processors/processor-manager.d.ts.map +0 -1
  140. package/dist/src/processors/processor-manager.js +0 -165
  141. package/dist/src/processors/processor-manager.js.map +0 -1
  142. package/dist/src/processors/types.d.ts +0 -63
  143. package/dist/src/processors/types.d.ts.map +0 -1
  144. package/dist/src/processors/types.js +0 -2
  145. package/dist/src/processors/types.js.map +0 -1
  146. package/dist/src/processors/utils.d.ts +0 -10
  147. package/dist/src/processors/utils.d.ts.map +0 -1
  148. package/dist/src/processors/utils.js +0 -59
  149. package/dist/src/processors/utils.js.map +0 -1
  150. package/dist/src/queue/interfaces.d.ts +0 -103
  151. package/dist/src/queue/interfaces.d.ts.map +0 -1
  152. package/dist/src/queue/interfaces.js +0 -2
  153. package/dist/src/queue/interfaces.js.map +0 -1
  154. package/dist/src/queue/job-execution-handle.d.ts +0 -25
  155. package/dist/src/queue/job-execution-handle.d.ts.map +0 -1
  156. package/dist/src/queue/job-execution-handle.js +0 -62
  157. package/dist/src/queue/job-execution-handle.js.map +0 -1
  158. package/dist/src/queue/queue.d.ts +0 -81
  159. package/dist/src/queue/queue.d.ts.map +0 -1
  160. package/dist/src/queue/queue.js +0 -384
  161. package/dist/src/queue/queue.js.map +0 -1
  162. package/dist/src/queue/types.d.ts +0 -73
  163. package/dist/src/queue/types.d.ts.map +0 -1
  164. package/dist/src/queue/types.js +0 -19
  165. package/dist/src/queue/types.js.map +0 -1
  166. package/dist/src/read-models/base-read-model.d.ts +0 -60
  167. package/dist/src/read-models/base-read-model.d.ts.map +0 -1
  168. package/dist/src/read-models/base-read-model.js +0 -143
  169. package/dist/src/read-models/base-read-model.js.map +0 -1
  170. package/dist/src/read-models/coordinator.d.ts +0 -39
  171. package/dist/src/read-models/coordinator.d.ts.map +0 -1
  172. package/dist/src/read-models/coordinator.js +0 -72
  173. package/dist/src/read-models/coordinator.js.map +0 -1
  174. package/dist/src/read-models/document-view.d.ts +0 -24
  175. package/dist/src/read-models/document-view.d.ts.map +0 -1
  176. package/dist/src/read-models/document-view.js +0 -375
  177. package/dist/src/read-models/document-view.js.map +0 -1
  178. package/dist/src/read-models/interfaces.d.ts +0 -29
  179. package/dist/src/read-models/interfaces.d.ts.map +0 -1
  180. package/dist/src/read-models/interfaces.js +0 -2
  181. package/dist/src/read-models/interfaces.js.map +0 -1
  182. package/dist/src/read-models/types.d.ts +0 -47
  183. package/dist/src/read-models/types.d.ts.map +0 -1
  184. package/dist/src/read-models/types.js +0 -2
  185. package/dist/src/read-models/types.js.map +0 -1
  186. package/dist/src/registry/implementation.d.ts +0 -70
  187. package/dist/src/registry/implementation.d.ts.map +0 -1
  188. package/dist/src/registry/implementation.js +0 -216
  189. package/dist/src/registry/implementation.js.map +0 -1
  190. package/dist/src/registry/index.d.ts +0 -3
  191. package/dist/src/registry/index.d.ts.map +0 -1
  192. package/dist/src/registry/index.js +0 -2
  193. package/dist/src/registry/index.js.map +0 -1
  194. package/dist/src/registry/interfaces.d.ts +0 -100
  195. package/dist/src/registry/interfaces.d.ts.map +0 -1
  196. package/dist/src/registry/interfaces.js +0 -2
  197. package/dist/src/registry/interfaces.js.map +0 -1
  198. package/dist/src/shared/awaiter.d.ts +0 -35
  199. package/dist/src/shared/awaiter.d.ts.map +0 -1
  200. package/dist/src/shared/awaiter.js +0 -123
  201. package/dist/src/shared/awaiter.js.map +0 -1
  202. package/dist/src/shared/consistency-tracker.d.ts +0 -48
  203. package/dist/src/shared/consistency-tracker.d.ts.map +0 -1
  204. package/dist/src/shared/consistency-tracker.js +0 -123
  205. package/dist/src/shared/consistency-tracker.js.map +0 -1
  206. package/dist/src/shared/drive-url.d.ts +0 -15
  207. package/dist/src/shared/drive-url.d.ts.map +0 -1
  208. package/dist/src/shared/drive-url.js +0 -17
  209. package/dist/src/shared/drive-url.js.map +0 -1
  210. package/dist/src/shared/errors.d.ts +0 -41
  211. package/dist/src/shared/errors.d.ts.map +0 -1
  212. package/dist/src/shared/errors.js +0 -75
  213. package/dist/src/shared/errors.js.map +0 -1
  214. package/dist/src/shared/factories.d.ts +0 -16
  215. package/dist/src/shared/factories.d.ts.map +0 -1
  216. package/dist/src/shared/factories.js +0 -33
  217. package/dist/src/shared/factories.js.map +0 -1
  218. package/dist/src/shared/types.d.ts +0 -135
  219. package/dist/src/shared/types.d.ts.map +0 -1
  220. package/dist/src/shared/types.js +0 -38
  221. package/dist/src/shared/types.js.map +0 -1
  222. package/dist/src/shared/utils.d.ts +0 -3
  223. package/dist/src/shared/utils.d.ts.map +0 -1
  224. package/dist/src/shared/utils.js +0 -8
  225. package/dist/src/shared/utils.js.map +0 -1
  226. package/dist/src/signer/passthrough-signer.d.ts +0 -12
  227. package/dist/src/signer/passthrough-signer.d.ts.map +0 -1
  228. package/dist/src/signer/passthrough-signer.js +0 -19
  229. package/dist/src/signer/passthrough-signer.js.map +0 -1
  230. package/dist/src/signer/types.d.ts +0 -17
  231. package/dist/src/signer/types.d.ts.map +0 -1
  232. package/dist/src/signer/types.js +0 -2
  233. package/dist/src/signer/types.js.map +0 -1
  234. package/dist/src/storage/consistency-aware-legacy-storage.d.ts +0 -33
  235. package/dist/src/storage/consistency-aware-legacy-storage.d.ts.map +0 -1
  236. package/dist/src/storage/consistency-aware-legacy-storage.js +0 -65
  237. package/dist/src/storage/consistency-aware-legacy-storage.js.map +0 -1
  238. package/dist/src/storage/index.d.ts +0 -4
  239. package/dist/src/storage/index.d.ts.map +0 -1
  240. package/dist/src/storage/index.js +0 -3
  241. package/dist/src/storage/index.js.map +0 -1
  242. package/dist/src/storage/interfaces.d.ts +0 -439
  243. package/dist/src/storage/interfaces.d.ts.map +0 -1
  244. package/dist/src/storage/interfaces.js +0 -19
  245. package/dist/src/storage/interfaces.js.map +0 -1
  246. package/dist/src/storage/kysely/document-indexer.d.ts +0 -28
  247. package/dist/src/storage/kysely/document-indexer.d.ts.map +0 -1
  248. package/dist/src/storage/kysely/document-indexer.js +0 -350
  249. package/dist/src/storage/kysely/document-indexer.js.map +0 -1
  250. package/dist/src/storage/kysely/keyframe-store.d.ts +0 -15
  251. package/dist/src/storage/kysely/keyframe-store.d.ts.map +0 -1
  252. package/dist/src/storage/kysely/keyframe-store.js +0 -64
  253. package/dist/src/storage/kysely/keyframe-store.js.map +0 -1
  254. package/dist/src/storage/kysely/store.d.ts +0 -16
  255. package/dist/src/storage/kysely/store.d.ts.map +0 -1
  256. package/dist/src/storage/kysely/store.js +0 -233
  257. package/dist/src/storage/kysely/store.js.map +0 -1
  258. package/dist/src/storage/kysely/sync-cursor-storage.d.ts +0 -13
  259. package/dist/src/storage/kysely/sync-cursor-storage.d.ts.map +0 -1
  260. package/dist/src/storage/kysely/sync-cursor-storage.js +0 -93
  261. package/dist/src/storage/kysely/sync-cursor-storage.js.map +0 -1
  262. package/dist/src/storage/kysely/sync-remote-storage.d.ts +0 -13
  263. package/dist/src/storage/kysely/sync-remote-storage.d.ts.map +0 -1
  264. package/dist/src/storage/kysely/sync-remote-storage.js +0 -133
  265. package/dist/src/storage/kysely/sync-remote-storage.js.map +0 -1
  266. package/dist/src/storage/kysely/types.d.ts +0 -135
  267. package/dist/src/storage/kysely/types.d.ts.map +0 -1
  268. package/dist/src/storage/kysely/types.js +0 -2
  269. package/dist/src/storage/kysely/types.js.map +0 -1
  270. package/dist/src/storage/migrations/001_create_operation_table.d.ts +0 -3
  271. package/dist/src/storage/migrations/001_create_operation_table.d.ts.map +0 -1
  272. package/dist/src/storage/migrations/001_create_operation_table.js +0 -41
  273. package/dist/src/storage/migrations/001_create_operation_table.js.map +0 -1
  274. package/dist/src/storage/migrations/002_create_keyframe_table.d.ts +0 -3
  275. package/dist/src/storage/migrations/002_create_keyframe_table.d.ts.map +0 -1
  276. package/dist/src/storage/migrations/002_create_keyframe_table.js +0 -27
  277. package/dist/src/storage/migrations/002_create_keyframe_table.js.map +0 -1
  278. package/dist/src/storage/migrations/003_create_document_table.d.ts +0 -3
  279. package/dist/src/storage/migrations/003_create_document_table.d.ts.map +0 -1
  280. package/dist/src/storage/migrations/003_create_document_table.js +0 -10
  281. package/dist/src/storage/migrations/003_create_document_table.js.map +0 -1
  282. package/dist/src/storage/migrations/004_create_document_relationship_table.d.ts +0 -3
  283. package/dist/src/storage/migrations/004_create_document_relationship_table.d.ts.map +0 -1
  284. package/dist/src/storage/migrations/004_create_document_relationship_table.js +0 -35
  285. package/dist/src/storage/migrations/004_create_document_relationship_table.js.map +0 -1
  286. package/dist/src/storage/migrations/005_create_indexer_state_table.d.ts +0 -3
  287. package/dist/src/storage/migrations/005_create_indexer_state_table.d.ts.map +0 -1
  288. package/dist/src/storage/migrations/005_create_indexer_state_table.js +0 -10
  289. package/dist/src/storage/migrations/005_create_indexer_state_table.js.map +0 -1
  290. package/dist/src/storage/migrations/006_create_document_snapshot_table.d.ts +0 -3
  291. package/dist/src/storage/migrations/006_create_document_snapshot_table.d.ts.map +0 -1
  292. package/dist/src/storage/migrations/006_create_document_snapshot_table.js +0 -49
  293. package/dist/src/storage/migrations/006_create_document_snapshot_table.js.map +0 -1
  294. package/dist/src/storage/migrations/007_create_slug_mapping_table.d.ts +0 -3
  295. package/dist/src/storage/migrations/007_create_slug_mapping_table.d.ts.map +0 -1
  296. package/dist/src/storage/migrations/007_create_slug_mapping_table.js +0 -24
  297. package/dist/src/storage/migrations/007_create_slug_mapping_table.js.map +0 -1
  298. package/dist/src/storage/migrations/008_create_view_state_table.d.ts +0 -3
  299. package/dist/src/storage/migrations/008_create_view_state_table.d.ts.map +0 -1
  300. package/dist/src/storage/migrations/008_create_view_state_table.js +0 -10
  301. package/dist/src/storage/migrations/008_create_view_state_table.js.map +0 -1
  302. package/dist/src/storage/migrations/009_create_operation_index_tables.d.ts +0 -3
  303. package/dist/src/storage/migrations/009_create_operation_index_tables.d.ts.map +0 -1
  304. package/dist/src/storage/migrations/009_create_operation_index_tables.js +0 -50
  305. package/dist/src/storage/migrations/009_create_operation_index_tables.js.map +0 -1
  306. package/dist/src/storage/migrations/010_create_sync_tables.d.ts +0 -3
  307. package/dist/src/storage/migrations/010_create_sync_tables.d.ts.map +0 -1
  308. package/dist/src/storage/migrations/010_create_sync_tables.js +0 -43
  309. package/dist/src/storage/migrations/010_create_sync_tables.js.map +0 -1
  310. package/dist/src/storage/migrations/index.d.ts +0 -3
  311. package/dist/src/storage/migrations/index.d.ts.map +0 -1
  312. package/dist/src/storage/migrations/index.js +0 -3
  313. package/dist/src/storage/migrations/index.js.map +0 -1
  314. package/dist/src/storage/migrations/migrator.d.ts +0 -6
  315. package/dist/src/storage/migrations/migrator.d.ts.map +0 -1
  316. package/dist/src/storage/migrations/migrator.js +0 -78
  317. package/dist/src/storage/migrations/migrator.js.map +0 -1
  318. package/dist/src/storage/migrations/run-migrations.d.ts +0 -2
  319. package/dist/src/storage/migrations/run-migrations.d.ts.map +0 -1
  320. package/dist/src/storage/migrations/run-migrations.js +0 -58
  321. package/dist/src/storage/migrations/run-migrations.js.map +0 -1
  322. package/dist/src/storage/migrations/types.d.ts +0 -9
  323. package/dist/src/storage/migrations/types.d.ts.map +0 -1
  324. package/dist/src/storage/migrations/types.js +0 -2
  325. package/dist/src/storage/migrations/types.js.map +0 -1
  326. package/dist/src/storage/txn.d.ts +0 -15
  327. package/dist/src/storage/txn.d.ts.map +0 -1
  328. package/dist/src/storage/txn.js +0 -42
  329. package/dist/src/storage/txn.js.map +0 -1
  330. package/dist/src/subs/default-error-handler.d.ts +0 -13
  331. package/dist/src/subs/default-error-handler.d.ts.map +0 -1
  332. package/dist/src/subs/default-error-handler.js +0 -27
  333. package/dist/src/subs/default-error-handler.js.map +0 -1
  334. package/dist/src/subs/react-subscription-manager.d.ts +0 -45
  335. package/dist/src/subs/react-subscription-manager.d.ts.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.d.ts +0 -17
  339. package/dist/src/subs/subscription-notification-read-model.d.ts.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.d.ts +0 -64
  343. package/dist/src/subs/types.d.ts.map +0 -1
  344. package/dist/src/subs/types.js +0 -2
  345. package/dist/src/subs/types.js.map +0 -1
  346. package/dist/src/sync/channels/composite-channel-factory.d.ts +0 -30
  347. package/dist/src/sync/channels/composite-channel-factory.d.ts.map +0 -1
  348. package/dist/src/sync/channels/composite-channel-factory.js +0 -87
  349. package/dist/src/sync/channels/composite-channel-factory.js.map +0 -1
  350. package/dist/src/sync/channels/gql-channel-factory.d.ts +0 -25
  351. package/dist/src/sync/channels/gql-channel-factory.d.ts.map +0 -1
  352. package/dist/src/sync/channels/gql-channel-factory.js +0 -76
  353. package/dist/src/sync/channels/gql-channel-factory.js.map +0 -1
  354. package/dist/src/sync/channels/gql-channel.d.ts +0 -118
  355. package/dist/src/sync/channels/gql-channel.d.ts.map +0 -1
  356. package/dist/src/sync/channels/gql-channel.js +0 -423
  357. package/dist/src/sync/channels/gql-channel.js.map +0 -1
  358. package/dist/src/sync/channels/index.d.ts +0 -6
  359. package/dist/src/sync/channels/index.d.ts.map +0 -1
  360. package/dist/src/sync/channels/index.js +0 -6
  361. package/dist/src/sync/channels/index.js.map +0 -1
  362. package/dist/src/sync/channels/polling-channel.d.ts +0 -39
  363. package/dist/src/sync/channels/polling-channel.d.ts.map +0 -1
  364. package/dist/src/sync/channels/polling-channel.js +0 -72
  365. package/dist/src/sync/channels/polling-channel.js.map +0 -1
  366. package/dist/src/sync/channels/utils.d.ts +0 -30
  367. package/dist/src/sync/channels/utils.d.ts.map +0 -1
  368. package/dist/src/sync/channels/utils.js +0 -96
  369. package/dist/src/sync/channels/utils.js.map +0 -1
  370. package/dist/src/sync/errors.d.ts +0 -10
  371. package/dist/src/sync/errors.d.ts.map +0 -1
  372. package/dist/src/sync/errors.js +0 -17
  373. package/dist/src/sync/errors.js.map +0 -1
  374. package/dist/src/sync/index.d.ts +0 -12
  375. package/dist/src/sync/index.d.ts.map +0 -1
  376. package/dist/src/sync/index.js +0 -9
  377. package/dist/src/sync/index.js.map +0 -1
  378. package/dist/src/sync/interfaces.d.ts +0 -180
  379. package/dist/src/sync/interfaces.d.ts.map +0 -1
  380. package/dist/src/sync/interfaces.js +0 -2
  381. package/dist/src/sync/interfaces.js.map +0 -1
  382. package/dist/src/sync/mailbox.d.ts +0 -21
  383. package/dist/src/sync/mailbox.d.ts.map +0 -1
  384. package/dist/src/sync/mailbox.js +0 -59
  385. package/dist/src/sync/mailbox.js.map +0 -1
  386. package/dist/src/sync/sync-builder.d.ts +0 -19
  387. package/dist/src/sync/sync-builder.d.ts.map +0 -1
  388. package/dist/src/sync/sync-builder.js +0 -39
  389. package/dist/src/sync/sync-builder.js.map +0 -1
  390. package/dist/src/sync/sync-manager.d.ts +0 -37
  391. package/dist/src/sync/sync-manager.d.ts.map +0 -1
  392. package/dist/src/sync/sync-manager.js +0 -266
  393. package/dist/src/sync/sync-manager.js.map +0 -1
  394. package/dist/src/sync/sync-operation.d.ts +0 -28
  395. package/dist/src/sync/sync-operation.d.ts.map +0 -1
  396. package/dist/src/sync/sync-operation.js +0 -63
  397. package/dist/src/sync/sync-operation.js.map +0 -1
  398. package/dist/src/sync/types.d.ts +0 -60
  399. package/dist/src/sync/types.d.ts.map +0 -1
  400. package/dist/src/sync/types.js +0 -16
  401. package/dist/src/sync/types.js.map +0 -1
  402. package/dist/src/sync/utils.d.ts +0 -36
  403. package/dist/src/sync/utils.d.ts.map +0 -1
  404. package/dist/src/sync/utils.js +0 -78
  405. package/dist/src/sync/utils.js.map +0 -1
  406. package/dist/src/utils/reshuffle.d.ts +0 -30
  407. package/dist/src/utils/reshuffle.d.ts.map +0 -1
  408. package/dist/src/utils/reshuffle.js +0 -47
  409. package/dist/src/utils/reshuffle.js.map +0 -1
@@ -1,216 +0,0 @@
1
- /**
2
- * Error thrown when a document model module is not found in the registry.
3
- */
4
- export class ModuleNotFoundError extends Error {
5
- constructor(documentType, version) {
6
- const versionSuffix = version !== undefined ? ` version ${version}` : "";
7
- super(`Document model module not found for type: ${documentType}${versionSuffix}`);
8
- this.name = "ModuleNotFoundError";
9
- }
10
- }
11
- /**
12
- * Error thrown when attempting to register a module that already exists.
13
- */
14
- export class DuplicateModuleError extends Error {
15
- constructor(documentType, version) {
16
- const versionSuffix = version !== undefined ? ` (version ${version})` : "";
17
- super(`Document model module already registered for type: ${documentType}${versionSuffix}`);
18
- this.name = "DuplicateModuleError";
19
- }
20
- }
21
- /**
22
- * Error thrown when a module is invalid or malformed.
23
- */
24
- export class InvalidModuleError extends Error {
25
- constructor(message) {
26
- super(`Invalid document model module: ${message}`);
27
- this.name = "InvalidModuleError";
28
- }
29
- }
30
- /**
31
- * Error thrown when attempting to register an upgrade manifest that already exists.
32
- */
33
- export class DuplicateManifestError extends Error {
34
- constructor(documentType) {
35
- super(`Upgrade manifest already registered for type: ${documentType}`);
36
- this.name = "DuplicateManifestError";
37
- }
38
- }
39
- /**
40
- * Error thrown when an upgrade manifest is not found.
41
- */
42
- export class ManifestNotFoundError extends Error {
43
- constructor(documentType) {
44
- super(`Upgrade manifest not found for type: ${documentType}`);
45
- this.name = "ManifestNotFoundError";
46
- }
47
- }
48
- /**
49
- * Error thrown when attempting a downgrade operation.
50
- */
51
- export class DowngradeNotSupportedError extends Error {
52
- constructor(documentType, fromVersion, toVersion) {
53
- super(`Downgrade not supported for ${documentType}: cannot go from version ${fromVersion} to ${toVersion}`);
54
- this.name = "DowngradeNotSupportedError";
55
- }
56
- }
57
- /**
58
- * Error thrown when a required upgrade transition is missing from the manifest.
59
- */
60
- export class MissingUpgradeTransitionError extends Error {
61
- constructor(documentType, fromVersion, toVersion) {
62
- super(`Missing upgrade transition for ${documentType}: v${fromVersion} to v${toVersion}`);
63
- this.name = "MissingUpgradeTransitionError";
64
- }
65
- }
66
- /**
67
- * Error thrown when getUpgradeReducer is called with a non-single-step version increment.
68
- */
69
- export class InvalidUpgradeStepError extends Error {
70
- constructor(documentType, fromVersion, toVersion) {
71
- super(`Invalid upgrade step for ${documentType}: must be single version increment, got v${fromVersion} to v${toVersion}`);
72
- this.name = "InvalidUpgradeStepError";
73
- }
74
- }
75
- /**
76
- * In-memory implementation of the IDocumentModelRegistry interface.
77
- * Manages document model modules with version-aware storage and upgrade manifest support.
78
- */
79
- export class DocumentModelRegistry {
80
- modules = [];
81
- manifests = [];
82
- registerModules(...modules) {
83
- for (const module of modules) {
84
- const documentType = module.documentModel.global.id;
85
- const version = module.version ?? 1;
86
- for (let i = 0; i < this.modules.length; i++) {
87
- const existing = this.modules[i];
88
- const existingType = existing.documentModel.global.id;
89
- const existingVersion = existing.version ?? 1;
90
- if (existingType === documentType && existingVersion === version) {
91
- throw new DuplicateModuleError(documentType, version);
92
- }
93
- }
94
- this.modules.push(module);
95
- }
96
- }
97
- unregisterModules(...documentTypes) {
98
- let allFound = true;
99
- for (const documentType of documentTypes) {
100
- const hasModule = this.modules.some((m) => m.documentModel.global.id === documentType);
101
- if (!hasModule) {
102
- allFound = false;
103
- }
104
- this.modules = this.modules.filter((m) => m.documentModel.global.id !== documentType);
105
- }
106
- return allFound;
107
- }
108
- getModule(documentType, version) {
109
- let latestModule;
110
- let latestVersion = -1;
111
- for (let i = 0; i < this.modules.length; i++) {
112
- const module = this.modules[i];
113
- const moduleType = module.documentModel.global.id;
114
- const moduleVersion = module.version ?? 1;
115
- if (moduleType === documentType) {
116
- if (version !== undefined && moduleVersion === version) {
117
- return module;
118
- }
119
- if (moduleVersion > latestVersion) {
120
- latestModule = module;
121
- latestVersion = moduleVersion;
122
- }
123
- }
124
- }
125
- if (version === undefined && latestModule !== undefined) {
126
- return latestModule;
127
- }
128
- throw new ModuleNotFoundError(documentType, version);
129
- }
130
- getAllModules() {
131
- return [...this.modules];
132
- }
133
- clear() {
134
- this.modules = [];
135
- this.manifests = [];
136
- }
137
- getSupportedVersions(documentType) {
138
- const versions = [];
139
- for (const module of this.modules) {
140
- if (module.documentModel.global.id === documentType) {
141
- versions.push(module.version ?? 1);
142
- }
143
- }
144
- if (versions.length === 0) {
145
- throw new ModuleNotFoundError(documentType);
146
- }
147
- return versions.sort((a, b) => a - b);
148
- }
149
- getLatestVersion(documentType) {
150
- let latest = -1;
151
- let found = false;
152
- for (const module of this.modules) {
153
- if (module.documentModel.global.id === documentType) {
154
- found = true;
155
- const version = module.version ?? 1;
156
- if (version > latest) {
157
- latest = version;
158
- }
159
- }
160
- }
161
- if (!found) {
162
- throw new ModuleNotFoundError(documentType);
163
- }
164
- return latest;
165
- }
166
- registerUpgradeManifests(...manifests) {
167
- for (const manifest of manifests) {
168
- for (let i = 0; i < this.manifests.length; i++) {
169
- if (this.manifests[i].documentType === manifest.documentType) {
170
- throw new DuplicateManifestError(manifest.documentType);
171
- }
172
- }
173
- this.manifests.push(manifest);
174
- }
175
- }
176
- getUpgradeManifest(documentType) {
177
- for (let i = 0; i < this.manifests.length; i++) {
178
- if (this.manifests[i].documentType === documentType) {
179
- return this.manifests[i];
180
- }
181
- }
182
- throw new ManifestNotFoundError(documentType);
183
- }
184
- computeUpgradePath(documentType, fromVersion, toVersion) {
185
- if (fromVersion === toVersion) {
186
- return [];
187
- }
188
- if (toVersion < fromVersion) {
189
- throw new DowngradeNotSupportedError(documentType, fromVersion, toVersion);
190
- }
191
- const manifest = this.getUpgradeManifest(documentType);
192
- const path = [];
193
- for (let v = fromVersion + 1; v <= toVersion; v++) {
194
- const key = `v${v}`;
195
- if (!(key in manifest.upgrades)) {
196
- throw new MissingUpgradeTransitionError(documentType, v - 1, v);
197
- }
198
- const transition = manifest.upgrades[key];
199
- path.push(transition);
200
- }
201
- return path;
202
- }
203
- getUpgradeReducer(documentType, fromVersion, toVersion) {
204
- if (toVersion !== fromVersion + 1) {
205
- throw new InvalidUpgradeStepError(documentType, fromVersion, toVersion);
206
- }
207
- const manifest = this.getUpgradeManifest(documentType);
208
- const key = `v${toVersion}`;
209
- if (!(key in manifest.upgrades)) {
210
- throw new MissingUpgradeTransitionError(documentType, fromVersion, toVersion);
211
- }
212
- const transition = manifest.upgrades[key];
213
- return transition.upgradeReducer;
214
- }
215
- }
216
- //# sourceMappingURL=implementation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../../src/registry/implementation.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { DocumentModelRegistry, DuplicateModuleError, InvalidModuleError, ModuleNotFoundError, } from "./implementation.js";
2
- export type { IDocumentModelRegistry } from "./interfaces.js";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { DocumentModelRegistry, DuplicateModuleError, InvalidModuleError, ModuleNotFoundError, } from "./implementation.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC"}
@@ -1,100 +0,0 @@
1
- import type { DocumentModelModule, UpgradeManifest, UpgradeReducer, UpgradeTransition } from "document-model";
2
- /**
3
- * Registry for managing document model modules.
4
- * Provides centralized access to document models' reducers, utils, and specifications.
5
- * Supports version-aware module storage and upgrade manifest management.
6
- */
7
- export interface IDocumentModelRegistry {
8
- /**
9
- * Register multiple modules at once.
10
- * Modules without a version field default to version 1.
11
- *
12
- * @param modules Document model modules to register
13
- * @throws DuplicateModuleError if a module with the same document type and version is already registered
14
- */
15
- registerModules(...modules: DocumentModelModule<any>[]): void;
16
- /**
17
- * Unregister all versions of the specified document types.
18
- *
19
- * @param documentTypes The document types to unregister
20
- * @returns true if all modules were unregistered, false if any were not found
21
- */
22
- unregisterModules(...documentTypes: string[]): boolean;
23
- /**
24
- * Get a specific document model module by document type and optional version.
25
- * If version is not specified, returns the latest version.
26
- *
27
- * @param documentType The document type identifier
28
- * @param version Optional version number to retrieve
29
- * @returns The document model module
30
- * @throws ModuleNotFoundError if the document type or version is not registered
31
- */
32
- getModule(documentType: string, version?: number): DocumentModelModule<any>;
33
- /**
34
- * Get all registered document model modules.
35
- *
36
- * @returns Array of all registered modules
37
- */
38
- getAllModules(): DocumentModelModule<any>[];
39
- /**
40
- * Clear all registered modules and upgrade manifests.
41
- */
42
- clear(): void;
43
- /**
44
- * Get all supported versions for a document type, sorted in ascending order.
45
- *
46
- * @param documentType The document type identifier
47
- * @returns Array of version numbers sorted ascending
48
- * @throws ModuleNotFoundError if no modules are registered for the document type
49
- */
50
- getSupportedVersions(documentType: string): number[];
51
- /**
52
- * Get the latest (highest) version number for a document type.
53
- *
54
- * @param documentType The document type identifier
55
- * @returns The highest version number registered for this document type
56
- * @throws ModuleNotFoundError if no modules are registered for the document type
57
- */
58
- getLatestVersion(documentType: string): number;
59
- /**
60
- * Register upgrade manifests that define upgrade paths between versions.
61
- *
62
- * @param manifests Upgrade manifests to register
63
- * @throws DuplicateManifestError if a manifest for the same document type is already registered
64
- */
65
- registerUpgradeManifests(...manifests: UpgradeManifest<readonly number[]>[]): void;
66
- /**
67
- * Get the upgrade manifest for a document type.
68
- *
69
- * @param documentType The document type identifier
70
- * @returns The upgrade manifest
71
- * @throws ManifestNotFoundError if no manifest is registered for the document type
72
- */
73
- getUpgradeManifest(documentType: string): UpgradeManifest<readonly number[]>;
74
- /**
75
- * Compute the upgrade path from one version to another.
76
- * Returns the sequence of upgrade transitions needed.
77
- *
78
- * @param documentType The document type identifier
79
- * @param fromVersion The starting version
80
- * @param toVersion The target version
81
- * @returns Array of upgrade transitions in order
82
- * @throws DowngradeNotSupportedError if toVersion is less than fromVersion
83
- * @throws ManifestNotFoundError if no upgrade manifest is registered
84
- * @throws MissingUpgradeTransitionError if any transition in the path is missing
85
- */
86
- computeUpgradePath(documentType: string, fromVersion: number, toVersion: number): UpgradeTransition[];
87
- /**
88
- * Get the upgrade reducer for a single-step version transition.
89
- *
90
- * @param documentType The document type identifier
91
- * @param fromVersion The starting version
92
- * @param toVersion The target version (must be fromVersion + 1)
93
- * @returns The upgrade reducer function
94
- * @throws InvalidUpgradeStepError if toVersion is not fromVersion + 1
95
- * @throws ManifestNotFoundError if no upgrade manifest is registered
96
- * @throws MissingUpgradeTransitionError if the transition is not found
97
- */
98
- getUpgradeReducer(documentType: string, fromVersion: number, toVersion: number): UpgradeReducer<any, any>;
99
- }
100
- //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/registry/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAExB;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,eAAe,CAAC,GAAG,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IAE9D;;;;;OAKG;IACH,iBAAiB,CAAC,GAAG,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEvD;;;;;;;;OAQG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAE5E;;;;OAIG;IACH,aAAa,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;IAE5C;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;;;;OAMG;IACH,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAErD;;;;;;OAMG;IACH,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/C;;;;;OAKG;IACH,wBAAwB,CACtB,GAAG,SAAS,EAAE,eAAe,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GACjD,IAAI,CAAC;IAER;;;;;;OAMG;IACH,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAE7E;;;;;;;;;;;OAWG;IACH,kBAAkB,CAChB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,iBAAiB,EAAE,CAAC;IAEvB;;;;;;;;;;OAUG;IACH,iBAAiB,CACf,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CAC7B"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=interfaces.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/registry/interfaces.ts"],"names":[],"mappings":""}
@@ -1,35 +0,0 @@
1
- import type { IEventBus } from "../events/interfaces.js";
2
- import { type JobInfo } from "./types.js";
3
- export interface IJobAwaiter {
4
- /**
5
- * Waits for a job to complete: turns a job into a promise.
6
- *
7
- * @param jobId - The job id or job object
8
- * @param signal - Optional abort signal to cancel the request
9
- * @returns The result of the job
10
- */
11
- waitForJob(jobId: string, signal?: AbortSignal): Promise<JobInfo>;
12
- /**
13
- * Shuts down the job awaiter. This will synchronously reject all pending jobs.
14
- */
15
- shutdown(): void;
16
- }
17
- /**
18
- * Event-driven implementation of IJobAwaiter.
19
- * Subscribes to operation events to detect job completion without polling.
20
- */
21
- export declare class JobAwaiter implements IJobAwaiter {
22
- private eventBus;
23
- private getJobStatus;
24
- private pendingJobs;
25
- private unsubscribers;
26
- constructor(eventBus: IEventBus, getJobStatus: (jobId: string, signal?: AbortSignal) => Promise<JobInfo>);
27
- private subscribeToEvents;
28
- shutdown(): void;
29
- waitForJob(jobId: string, signal?: AbortSignal): Promise<JobInfo>;
30
- private handleOperationWritten;
31
- private handleOperationsReady;
32
- private handleJobFailed;
33
- private checkAndResolveWaiters;
34
- }
35
- //# sourceMappingURL=awaiter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"awaiter.d.ts","sourceRoot":"","sources":["../../../src/shared/awaiter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAQzD,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAElE;;OAEG;IACH,QAAQ,IAAI,IAAI,CAAC;CAClB;AAiBD;;;GAGG;AACH,qBAAa,UAAW,YAAW,WAAW;IAK1C,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IALtB,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,aAAa,CAAqB;gBAGhC,QAAQ,EAAE,SAAS,EACnB,YAAY,EAAE,CACpB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,WAAW,KACjB,OAAO,CAAC,OAAO,CAAC;IAKvB,OAAO,CAAC,iBAAiB;IA6BzB,QAAQ,IAAI,IAAI;IAcV,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;YAuCzD,sBAAsB;YAOtB,qBAAqB;YAOrB,eAAe;YAIf,sBAAsB;CAuCrC"}
@@ -1,123 +0,0 @@
1
- import { OperationEventTypes, } from "../events/types.js";
2
- import { JobStatus } from "./types.js";
3
- /**
4
- * Checks if a job status is terminal (job has finished).
5
- * WRITE_COMPLETED is not terminal - it's an intermediate state.
6
- * Only READ_MODELS_READY and FAILED are truly terminal.
7
- */
8
- function isTerminalStatus(status) {
9
- return status === JobStatus.READ_MODELS_READY || status === JobStatus.FAILED;
10
- }
11
- /**
12
- * Event-driven implementation of IJobAwaiter.
13
- * Subscribes to operation events to detect job completion without polling.
14
- */
15
- export class JobAwaiter {
16
- eventBus;
17
- getJobStatus;
18
- pendingJobs = new Map();
19
- unsubscribers = [];
20
- constructor(eventBus, getJobStatus) {
21
- this.eventBus = eventBus;
22
- this.getJobStatus = getJobStatus;
23
- this.subscribeToEvents();
24
- }
25
- subscribeToEvents() {
26
- this.unsubscribers.push(this.eventBus.subscribe(OperationEventTypes.OPERATION_WRITTEN, async (_type, event) => {
27
- await this.handleOperationWritten(event);
28
- }));
29
- this.unsubscribers.push(this.eventBus.subscribe(OperationEventTypes.OPERATIONS_READY, async (_type, event) => {
30
- await this.handleOperationsReady(event);
31
- }));
32
- this.unsubscribers.push(this.eventBus.subscribe(OperationEventTypes.JOB_FAILED, async (_type, event) => {
33
- await this.handleJobFailed(event);
34
- }));
35
- }
36
- shutdown() {
37
- for (const unsubscribe of this.unsubscribers) {
38
- unsubscribe();
39
- }
40
- this.unsubscribers = [];
41
- for (const [, waiters] of this.pendingJobs) {
42
- for (const waiter of waiters) {
43
- waiter.reject(new Error("JobAwaiter destroyed"));
44
- }
45
- }
46
- this.pendingJobs.clear();
47
- }
48
- async waitForJob(jobId, signal) {
49
- if (signal?.aborted) {
50
- throw new Error("Operation aborted");
51
- }
52
- const currentStatus = await this.getJobStatus(jobId, signal);
53
- if (isTerminalStatus(currentStatus.status)) {
54
- return currentStatus;
55
- }
56
- const promise = new Promise((resolve, reject) => {
57
- const waiter = { resolve, reject, signal };
58
- const existingWaiters = this.pendingJobs.get(jobId) || [];
59
- existingWaiters.push(waiter);
60
- this.pendingJobs.set(jobId, existingWaiters);
61
- if (signal) {
62
- const abortHandler = () => {
63
- const waiters = this.pendingJobs.get(jobId);
64
- if (waiters) {
65
- const index = waiters.indexOf(waiter);
66
- if (index !== -1) {
67
- waiters.splice(index, 1);
68
- if (waiters.length === 0) {
69
- this.pendingJobs.delete(jobId);
70
- }
71
- waiter.reject(new Error("Operation aborted"));
72
- }
73
- }
74
- };
75
- signal.addEventListener("abort", abortHandler, { once: true });
76
- }
77
- });
78
- return promise;
79
- }
80
- async handleOperationWritten(event) {
81
- const jobId = event.jobId;
82
- await this.checkAndResolveWaiters(jobId);
83
- }
84
- async handleOperationsReady(event) {
85
- const jobId = event.jobId;
86
- await this.checkAndResolveWaiters(jobId);
87
- }
88
- async handleJobFailed(event) {
89
- await this.checkAndResolveWaiters(event.jobId);
90
- }
91
- async checkAndResolveWaiters(jobId) {
92
- const waiters = this.pendingJobs.get(jobId);
93
- if (!waiters || waiters.length === 0) {
94
- return;
95
- }
96
- try {
97
- const activeWaiters = waiters.filter((w) => !w.signal?.aborted);
98
- if (activeWaiters.length === 0) {
99
- this.pendingJobs.delete(jobId);
100
- return;
101
- }
102
- const jobInfo = await this.getJobStatus(jobId, activeWaiters[0].signal);
103
- if (isTerminalStatus(jobInfo.status)) {
104
- this.pendingJobs.delete(jobId);
105
- for (const waiter of activeWaiters) {
106
- waiter.resolve(jobInfo);
107
- }
108
- for (const waiter of waiters) {
109
- if (waiter.signal?.aborted) {
110
- waiter.reject(new Error("Operation aborted"));
111
- }
112
- }
113
- }
114
- }
115
- catch (error) {
116
- this.pendingJobs.delete(jobId);
117
- for (const waiter of waiters) {
118
- waiter.reject(error instanceof Error ? error : new Error(String(error)));
119
- }
120
- }
121
- }
122
- }
123
- //# sourceMappingURL=awaiter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"awaiter.js","sourceRoot":"","sources":["../../../src/shared/awaiter.ts"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- import type { ConsistencyCoordinate, ConsistencyKey } from "./types.js";
2
- export interface IConsistencyTracker {
3
- /**
4
- * Updates the tracker with new operation indexes.
5
- * When multiple coordinates have the same key, keeps the highest operationIndex.
6
- * Resolves any pending waiters whose coordinates are now satisfied.
7
- */
8
- update(coordinates: ConsistencyCoordinate[]): void;
9
- /**
10
- * Returns the latest operation index for a given key, or undefined if not tracked.
11
- */
12
- getLatest(key: ConsistencyKey): number | undefined;
13
- /**
14
- * Returns a promise that resolves when all coordinates are satisfied.
15
- * Rejects if the timeout is reached or the signal is aborted.
16
- */
17
- waitFor(coordinates: ConsistencyCoordinate[], timeoutMs?: number, signal?: AbortSignal): Promise<void>;
18
- /**
19
- * Returns a serializable snapshot of the current state.
20
- */
21
- serialize(): Array<[ConsistencyKey, number]>;
22
- /**
23
- * Restores state from a serialized snapshot.
24
- */
25
- hydrate(entries: Array<[ConsistencyKey, number]>): void;
26
- }
27
- /**
28
- * Creates a consistency key from documentId, scope, and branch.
29
- */
30
- export declare function makeConsistencyKey(documentId: string, scope: string, branch: string): ConsistencyKey;
31
- /**
32
- * Tracks operation indexes for documents and provides read-after-write consistency guarantees.
33
- * Maintains an in-memory map of the latest operation index for each (documentId, scope, branch) tuple.
34
- */
35
- export declare class ConsistencyTracker implements IConsistencyTracker {
36
- private state;
37
- private waiters;
38
- update(coordinates: ConsistencyCoordinate[]): void;
39
- getLatest(key: ConsistencyKey): number | undefined;
40
- waitFor(coordinates: ConsistencyCoordinate[], timeoutMs?: number, signal?: AbortSignal): Promise<void>;
41
- serialize(): Array<[ConsistencyKey, number]>;
42
- hydrate(entries: Array<[ConsistencyKey, number]>): void;
43
- private deduplicateCoordinates;
44
- private areCoordinatesSatisfied;
45
- private checkWaiters;
46
- private removeWaiter;
47
- }
48
- //# sourceMappingURL=consistency-tracker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consistency-tracker.d.ts","sourceRoot":"","sources":["../../../src/shared/consistency-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,MAAM,CAAC,WAAW,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC;IAEnD;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;IAEnD;;;OAGG;IACH,OAAO,CACL,WAAW,EAAE,qBAAqB,EAAE,EACpC,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;OAEG;IACH,SAAS,IAAI,KAAK,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAE7C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;CACzD;AAUD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,cAAc,CAEhB;AAED;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAC5D,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,OAAO,CAAgB;IAE/B,MAAM,CAAC,WAAW,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAmBlD,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;IAIlD,OAAO,CACL,WAAW,EAAE,qBAAqB,EAAE,EACpC,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IAoChB,SAAS,IAAI,KAAK,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAI5C,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI;IAOvD,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,YAAY;CASrB"}