@powerhousedao/reactor 6.0.0-dev.7 → 6.0.0-dev.77

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 (371) hide show
  1. package/dist/src/cache/collection-membership-cache.d.ts +13 -0
  2. package/dist/src/cache/collection-membership-cache.d.ts.map +1 -0
  3. package/dist/src/cache/document-meta-cache.d.ts.map +1 -1
  4. package/dist/src/cache/kysely-operation-index.d.ts +6 -1
  5. package/dist/src/cache/kysely-operation-index.d.ts.map +1 -1
  6. package/dist/src/cache/kysely-write-cache.d.ts +9 -2
  7. package/dist/src/cache/kysely-write-cache.d.ts.map +1 -1
  8. package/dist/src/cache/operation-index-types.d.ts +16 -2
  9. package/dist/src/cache/operation-index-types.d.ts.map +1 -1
  10. package/dist/src/cache/write/interfaces.d.ts +7 -2
  11. package/dist/src/cache/write/interfaces.d.ts.map +1 -1
  12. package/dist/src/client/reactor-client.d.ts +13 -10
  13. package/dist/src/client/reactor-client.d.ts.map +1 -1
  14. package/dist/src/client/types.d.ts +25 -6
  15. package/dist/src/client/types.d.ts.map +1 -1
  16. package/dist/src/core/reactor-builder.d.ts +23 -7
  17. package/dist/src/core/reactor-builder.d.ts.map +1 -1
  18. package/dist/src/core/reactor-client-builder.d.ts +5 -4
  19. package/dist/src/core/reactor-client-builder.d.ts.map +1 -1
  20. package/dist/src/core/reactor.d.ts +20 -80
  21. package/dist/src/core/reactor.d.ts.map +1 -1
  22. package/dist/src/core/types.d.ts +64 -28
  23. package/dist/src/core/types.d.ts.map +1 -1
  24. package/dist/src/core/utils.d.ts +39 -3
  25. package/dist/src/core/utils.d.ts.map +1 -1
  26. package/dist/src/events/types.d.ts +35 -10
  27. package/dist/src/events/types.d.ts.map +1 -1
  28. package/dist/src/executor/document-action-handler.d.ts +37 -0
  29. package/dist/src/executor/document-action-handler.d.ts.map +1 -0
  30. package/dist/src/executor/signature-verifier.d.ts +9 -0
  31. package/dist/src/executor/signature-verifier.d.ts.map +1 -0
  32. package/dist/src/executor/simple-job-executor-manager.d.ts +6 -1
  33. package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -1
  34. package/dist/src/executor/simple-job-executor.d.ts +6 -46
  35. package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
  36. package/dist/src/executor/types.d.ts +1 -3
  37. package/dist/src/executor/types.d.ts.map +1 -1
  38. package/dist/src/executor/util.d.ts +12 -2
  39. package/dist/src/executor/util.d.ts.map +1 -1
  40. package/dist/src/index.d.ts +11 -9
  41. package/dist/src/index.d.ts.map +1 -1
  42. package/dist/src/index.js +19998 -61
  43. package/dist/src/job-tracker/in-memory-job-tracker.d.ts +4 -3
  44. package/dist/src/job-tracker/in-memory-job-tracker.d.ts.map +1 -1
  45. package/dist/src/job-tracker/interfaces.d.ts +3 -1
  46. package/dist/src/job-tracker/interfaces.d.ts.map +1 -1
  47. package/dist/src/logging/console.d.ts +1 -22
  48. package/dist/src/logging/console.d.ts.map +1 -1
  49. package/dist/src/logging/types.d.ts +1 -11
  50. package/dist/src/logging/types.d.ts.map +1 -1
  51. package/dist/src/processors/index.d.ts +1 -1
  52. package/dist/src/processors/index.d.ts.map +1 -1
  53. package/dist/src/processors/processor-manager.d.ts +2 -2
  54. package/dist/src/processors/processor-manager.d.ts.map +1 -1
  55. package/dist/src/processors/relational/types.d.ts +2 -0
  56. package/dist/src/processors/relational/types.d.ts.map +1 -0
  57. package/dist/src/processors/relational/utils.d.ts +2 -0
  58. package/dist/src/processors/relational/utils.d.ts.map +1 -0
  59. package/dist/src/processors/utils.d.ts +2 -2
  60. package/dist/src/processors/utils.d.ts.map +1 -1
  61. package/dist/src/queue/job-execution-handle.d.ts +3 -0
  62. package/dist/src/queue/job-execution-handle.d.ts.map +1 -1
  63. package/dist/src/queue/queue.d.ts +30 -1
  64. package/dist/src/queue/queue.d.ts.map +1 -1
  65. package/dist/src/queue/types.d.ts +4 -3
  66. package/dist/src/queue/types.d.ts.map +1 -1
  67. package/dist/src/read-models/base-read-model.d.ts +1 -1
  68. package/dist/src/read-models/base-read-model.d.ts.map +1 -1
  69. package/dist/src/read-models/coordinator.d.ts +2 -2
  70. package/dist/src/read-models/coordinator.d.ts.map +1 -1
  71. package/dist/src/read-models/document-view.d.ts +6 -3
  72. package/dist/src/read-models/document-view.d.ts.map +1 -1
  73. package/dist/src/read-models/interfaces.d.ts +1 -1
  74. package/dist/src/read-models/interfaces.d.ts.map +1 -1
  75. package/dist/src/registry/document-model-resolver.d.ts +29 -0
  76. package/dist/src/registry/document-model-resolver.d.ts.map +1 -0
  77. package/dist/src/registry/implementation.d.ts +4 -0
  78. package/dist/src/registry/implementation.d.ts.map +1 -1
  79. package/dist/src/registry/index.d.ts +3 -1
  80. package/dist/src/registry/index.d.ts.map +1 -1
  81. package/dist/src/registry/interfaces.d.ts +8 -0
  82. package/dist/src/registry/interfaces.d.ts.map +1 -1
  83. package/dist/src/shared/awaiter.d.ts +2 -2
  84. package/dist/src/shared/awaiter.d.ts.map +1 -1
  85. package/dist/src/shared/collect-all-pages.d.ts +7 -0
  86. package/dist/src/shared/collect-all-pages.d.ts.map +1 -0
  87. package/dist/src/shared/drive-url.d.ts +15 -0
  88. package/dist/src/shared/drive-url.d.ts.map +1 -0
  89. package/dist/src/shared/errors.d.ts +9 -0
  90. package/dist/src/shared/errors.d.ts.map +1 -1
  91. package/dist/src/shared/factories.d.ts +6 -2
  92. package/dist/src/shared/factories.d.ts.map +1 -1
  93. package/dist/src/shared/types.d.ts +32 -6
  94. package/dist/src/shared/types.d.ts.map +1 -1
  95. package/dist/src/signer/passthrough-signer.d.ts +1 -1
  96. package/dist/src/signer/passthrough-signer.d.ts.map +1 -1
  97. package/dist/src/storage/interfaces.d.ts +238 -124
  98. package/dist/src/storage/interfaces.d.ts.map +1 -1
  99. package/dist/src/storage/kysely/document-indexer.d.ts +8 -7
  100. package/dist/src/storage/kysely/document-indexer.d.ts.map +1 -1
  101. package/dist/src/storage/kysely/store.d.ts +5 -4
  102. package/dist/src/storage/kysely/store.d.ts.map +1 -1
  103. package/dist/src/storage/kysely/sync-cursor-storage.d.ts +1 -1
  104. package/dist/src/storage/kysely/sync-cursor-storage.d.ts.map +1 -1
  105. package/dist/src/storage/kysely/sync-dead-letter-storage.d.ts +17 -0
  106. package/dist/src/storage/kysely/sync-dead-letter-storage.d.ts.map +1 -0
  107. package/dist/src/storage/kysely/types.d.ts +22 -0
  108. package/dist/src/storage/kysely/types.d.ts.map +1 -1
  109. package/dist/src/storage/migrations/011_add_cursor_type_column.d.ts +3 -0
  110. package/dist/src/storage/migrations/011_add_cursor_type_column.d.ts.map +1 -0
  111. package/dist/src/storage/migrations/012_add_source_remote_column.d.ts +3 -0
  112. package/dist/src/storage/migrations/012_add_source_remote_column.d.ts.map +1 -0
  113. package/dist/src/storage/migrations/013_create_sync_dead_letters_table.d.ts +3 -0
  114. package/dist/src/storage/migrations/013_create_sync_dead_letters_table.d.ts.map +1 -0
  115. package/dist/src/storage/migrations/migrator.d.ts.map +1 -1
  116. package/dist/src/subs/default-error-handler.d.ts.map +1 -1
  117. package/dist/src/subs/subscription-notification-read-model.d.ts +3 -2
  118. package/dist/src/subs/subscription-notification-read-model.d.ts.map +1 -1
  119. package/dist/src/sync/batch-aggregator.d.ts +25 -0
  120. package/dist/src/sync/batch-aggregator.d.ts.map +1 -0
  121. package/dist/src/sync/buffered-mailbox.d.ts +36 -0
  122. package/dist/src/sync/buffered-mailbox.d.ts.map +1 -0
  123. package/dist/src/sync/channels/{gql-channel.d.ts → gql-req-channel.d.ts} +49 -42
  124. package/dist/src/sync/channels/gql-req-channel.d.ts.map +1 -0
  125. package/dist/src/sync/channels/gql-request-channel-factory.d.ts +32 -0
  126. package/dist/src/sync/channels/gql-request-channel-factory.d.ts.map +1 -0
  127. package/dist/src/sync/channels/gql-res-channel.d.ts +25 -0
  128. package/dist/src/sync/channels/gql-res-channel.d.ts.map +1 -0
  129. package/dist/src/sync/channels/gql-response-channel-factory.d.ts +13 -0
  130. package/dist/src/sync/channels/gql-response-channel-factory.d.ts.map +1 -0
  131. package/dist/src/sync/channels/index.d.ts +6 -4
  132. package/dist/src/sync/channels/index.d.ts.map +1 -1
  133. package/dist/src/sync/channels/interval-poll-timer.d.ts +40 -0
  134. package/dist/src/sync/channels/interval-poll-timer.d.ts.map +1 -0
  135. package/dist/src/sync/channels/poll-timer.d.ts +14 -0
  136. package/dist/src/sync/channels/poll-timer.d.ts.map +1 -0
  137. package/dist/src/sync/channels/utils.d.ts +15 -1
  138. package/dist/src/sync/channels/utils.d.ts.map +1 -1
  139. package/dist/src/sync/index.d.ts +10 -6
  140. package/dist/src/sync/index.d.ts.map +1 -1
  141. package/dist/src/sync/interfaces.d.ts +34 -21
  142. package/dist/src/sync/interfaces.d.ts.map +1 -1
  143. package/dist/src/sync/mailbox.d.ts +51 -12
  144. package/dist/src/sync/mailbox.d.ts.map +1 -1
  145. package/dist/src/sync/sync-awaiter.d.ts +34 -0
  146. package/dist/src/sync/sync-awaiter.d.ts.map +1 -0
  147. package/dist/src/sync/sync-builder.d.ts +5 -1
  148. package/dist/src/sync/sync-builder.d.ts.map +1 -1
  149. package/dist/src/sync/sync-manager.d.ts +21 -8
  150. package/dist/src/sync/sync-manager.d.ts.map +1 -1
  151. package/dist/src/sync/sync-operation.d.ts +4 -2
  152. package/dist/src/sync/sync-operation.d.ts.map +1 -1
  153. package/dist/src/sync/sync-status-tracker.d.ts +31 -0
  154. package/dist/src/sync/sync-status-tracker.d.ts.map +1 -0
  155. package/dist/src/sync/types.d.ts +90 -2
  156. package/dist/src/sync/types.d.ts.map +1 -1
  157. package/dist/src/sync/utils.d.ts +37 -2
  158. package/dist/src/sync/utils.d.ts.map +1 -1
  159. package/dist/src/utils/reshuffle.d.ts +22 -5
  160. package/dist/src/utils/reshuffle.d.ts.map +1 -1
  161. package/package.json +24 -20
  162. package/dist/src/actions/index.js +0 -76
  163. package/dist/src/actions/index.js.map +0 -1
  164. package/dist/src/cache/buffer/ring-buffer.js +0 -69
  165. package/dist/src/cache/buffer/ring-buffer.js.map +0 -1
  166. package/dist/src/cache/document-meta-cache-types.js +0 -2
  167. package/dist/src/cache/document-meta-cache-types.js.map +0 -1
  168. package/dist/src/cache/document-meta-cache.js +0 -128
  169. package/dist/src/cache/document-meta-cache.js.map +0 -1
  170. package/dist/src/cache/index.js +0 -2
  171. package/dist/src/cache/index.js.map +0 -1
  172. package/dist/src/cache/kysely-operation-index.js +0 -250
  173. package/dist/src/cache/kysely-operation-index.js.map +0 -1
  174. package/dist/src/cache/kysely-write-cache.js +0 -388
  175. package/dist/src/cache/kysely-write-cache.js.map +0 -1
  176. package/dist/src/cache/lru/lru-tracker.js +0 -96
  177. package/dist/src/cache/lru/lru-tracker.js.map +0 -1
  178. package/dist/src/cache/operation-index-types.js +0 -4
  179. package/dist/src/cache/operation-index-types.js.map +0 -1
  180. package/dist/src/cache/write/interfaces.js +0 -2
  181. package/dist/src/cache/write/interfaces.js.map +0 -1
  182. package/dist/src/cache/write-cache-types.js +0 -2
  183. package/dist/src/cache/write-cache-types.js.map +0 -1
  184. package/dist/src/client/reactor-client.js +0 -406
  185. package/dist/src/client/reactor-client.js.map +0 -1
  186. package/dist/src/client/types.js +0 -14
  187. package/dist/src/client/types.js.map +0 -1
  188. package/dist/src/core/reactor-builder.js +0 -231
  189. package/dist/src/core/reactor-builder.js.map +0 -1
  190. package/dist/src/core/reactor-client-builder.js +0 -123
  191. package/dist/src/core/reactor-client-builder.js.map +0 -1
  192. package/dist/src/core/reactor.js +0 -981
  193. package/dist/src/core/reactor.js.map +0 -1
  194. package/dist/src/core/types.js +0 -2
  195. package/dist/src/core/types.js.map +0 -1
  196. package/dist/src/core/utils.js +0 -171
  197. package/dist/src/core/utils.js.map +0 -1
  198. package/dist/src/events/event-bus.js +0 -53
  199. package/dist/src/events/event-bus.js.map +0 -1
  200. package/dist/src/events/interfaces.js +0 -2
  201. package/dist/src/events/interfaces.js.map +0 -1
  202. package/dist/src/events/types.js +0 -28
  203. package/dist/src/events/types.js.map +0 -1
  204. package/dist/src/executor/interfaces.js +0 -2
  205. package/dist/src/executor/interfaces.js.map +0 -1
  206. package/dist/src/executor/simple-job-executor-manager.js +0 -233
  207. package/dist/src/executor/simple-job-executor-manager.js.map +0 -1
  208. package/dist/src/executor/simple-job-executor.js +0 -898
  209. package/dist/src/executor/simple-job-executor.js.map +0 -1
  210. package/dist/src/executor/types.js +0 -11
  211. package/dist/src/executor/types.js.map +0 -1
  212. package/dist/src/executor/util.js +0 -184
  213. package/dist/src/executor/util.js.map +0 -1
  214. package/dist/src/index.js.map +0 -1
  215. package/dist/src/job-tracker/in-memory-job-tracker.js +0 -112
  216. package/dist/src/job-tracker/in-memory-job-tracker.js.map +0 -1
  217. package/dist/src/job-tracker/index.js +0 -2
  218. package/dist/src/job-tracker/index.js.map +0 -1
  219. package/dist/src/job-tracker/interfaces.js +0 -2
  220. package/dist/src/job-tracker/interfaces.js.map +0 -1
  221. package/dist/src/logging/console.js +0 -108
  222. package/dist/src/logging/console.js.map +0 -1
  223. package/dist/src/logging/types.js +0 -2
  224. package/dist/src/logging/types.js.map +0 -1
  225. package/dist/src/processors/index.js +0 -2
  226. package/dist/src/processors/index.js.map +0 -1
  227. package/dist/src/processors/processor-manager.js +0 -165
  228. package/dist/src/processors/processor-manager.js.map +0 -1
  229. package/dist/src/processors/types.d.ts +0 -63
  230. package/dist/src/processors/types.d.ts.map +0 -1
  231. package/dist/src/processors/types.js +0 -2
  232. package/dist/src/processors/types.js.map +0 -1
  233. package/dist/src/processors/utils.js +0 -58
  234. package/dist/src/processors/utils.js.map +0 -1
  235. package/dist/src/queue/interfaces.js +0 -2
  236. package/dist/src/queue/interfaces.js.map +0 -1
  237. package/dist/src/queue/job-execution-handle.js +0 -62
  238. package/dist/src/queue/job-execution-handle.js.map +0 -1
  239. package/dist/src/queue/queue.js +0 -384
  240. package/dist/src/queue/queue.js.map +0 -1
  241. package/dist/src/queue/types.js +0 -19
  242. package/dist/src/queue/types.js.map +0 -1
  243. package/dist/src/read-models/base-read-model.js +0 -143
  244. package/dist/src/read-models/base-read-model.js.map +0 -1
  245. package/dist/src/read-models/coordinator.js +0 -72
  246. package/dist/src/read-models/coordinator.js.map +0 -1
  247. package/dist/src/read-models/document-view.js +0 -375
  248. package/dist/src/read-models/document-view.js.map +0 -1
  249. package/dist/src/read-models/interfaces.js +0 -2
  250. package/dist/src/read-models/interfaces.js.map +0 -1
  251. package/dist/src/read-models/types.js +0 -2
  252. package/dist/src/read-models/types.js.map +0 -1
  253. package/dist/src/registry/implementation.js +0 -216
  254. package/dist/src/registry/implementation.js.map +0 -1
  255. package/dist/src/registry/index.js +0 -2
  256. package/dist/src/registry/index.js.map +0 -1
  257. package/dist/src/registry/interfaces.js +0 -2
  258. package/dist/src/registry/interfaces.js.map +0 -1
  259. package/dist/src/shared/awaiter.js +0 -123
  260. package/dist/src/shared/awaiter.js.map +0 -1
  261. package/dist/src/shared/consistency-tracker.js +0 -123
  262. package/dist/src/shared/consistency-tracker.js.map +0 -1
  263. package/dist/src/shared/errors.js +0 -75
  264. package/dist/src/shared/errors.js.map +0 -1
  265. package/dist/src/shared/factories.js +0 -33
  266. package/dist/src/shared/factories.js.map +0 -1
  267. package/dist/src/shared/types.js +0 -38
  268. package/dist/src/shared/types.js.map +0 -1
  269. package/dist/src/shared/utils.js +0 -8
  270. package/dist/src/shared/utils.js.map +0 -1
  271. package/dist/src/signer/passthrough-signer.js +0 -19
  272. package/dist/src/signer/passthrough-signer.js.map +0 -1
  273. package/dist/src/signer/types.js +0 -2
  274. package/dist/src/signer/types.js.map +0 -1
  275. package/dist/src/storage/consistency-aware-legacy-storage.d.ts +0 -33
  276. package/dist/src/storage/consistency-aware-legacy-storage.d.ts.map +0 -1
  277. package/dist/src/storage/consistency-aware-legacy-storage.js +0 -65
  278. package/dist/src/storage/consistency-aware-legacy-storage.js.map +0 -1
  279. package/dist/src/storage/index.js +0 -3
  280. package/dist/src/storage/index.js.map +0 -1
  281. package/dist/src/storage/interfaces.js +0 -19
  282. package/dist/src/storage/interfaces.js.map +0 -1
  283. package/dist/src/storage/kysely/document-indexer.js +0 -350
  284. package/dist/src/storage/kysely/document-indexer.js.map +0 -1
  285. package/dist/src/storage/kysely/keyframe-store.js +0 -64
  286. package/dist/src/storage/kysely/keyframe-store.js.map +0 -1
  287. package/dist/src/storage/kysely/store.js +0 -233
  288. package/dist/src/storage/kysely/store.js.map +0 -1
  289. package/dist/src/storage/kysely/sync-cursor-storage.js +0 -93
  290. package/dist/src/storage/kysely/sync-cursor-storage.js.map +0 -1
  291. package/dist/src/storage/kysely/sync-remote-storage.js +0 -133
  292. package/dist/src/storage/kysely/sync-remote-storage.js.map +0 -1
  293. package/dist/src/storage/kysely/types.js +0 -2
  294. package/dist/src/storage/kysely/types.js.map +0 -1
  295. package/dist/src/storage/migrations/001_create_operation_table.js +0 -41
  296. package/dist/src/storage/migrations/001_create_operation_table.js.map +0 -1
  297. package/dist/src/storage/migrations/002_create_keyframe_table.js +0 -27
  298. package/dist/src/storage/migrations/002_create_keyframe_table.js.map +0 -1
  299. package/dist/src/storage/migrations/003_create_document_table.js +0 -10
  300. package/dist/src/storage/migrations/003_create_document_table.js.map +0 -1
  301. package/dist/src/storage/migrations/004_create_document_relationship_table.js +0 -35
  302. package/dist/src/storage/migrations/004_create_document_relationship_table.js.map +0 -1
  303. package/dist/src/storage/migrations/005_create_indexer_state_table.js +0 -10
  304. package/dist/src/storage/migrations/005_create_indexer_state_table.js.map +0 -1
  305. package/dist/src/storage/migrations/006_create_document_snapshot_table.js +0 -49
  306. package/dist/src/storage/migrations/006_create_document_snapshot_table.js.map +0 -1
  307. package/dist/src/storage/migrations/007_create_slug_mapping_table.js +0 -24
  308. package/dist/src/storage/migrations/007_create_slug_mapping_table.js.map +0 -1
  309. package/dist/src/storage/migrations/008_create_view_state_table.js +0 -10
  310. package/dist/src/storage/migrations/008_create_view_state_table.js.map +0 -1
  311. package/dist/src/storage/migrations/009_create_operation_index_tables.js +0 -50
  312. package/dist/src/storage/migrations/009_create_operation_index_tables.js.map +0 -1
  313. package/dist/src/storage/migrations/010_create_sync_tables.js +0 -43
  314. package/dist/src/storage/migrations/010_create_sync_tables.js.map +0 -1
  315. package/dist/src/storage/migrations/index.js +0 -3
  316. package/dist/src/storage/migrations/index.js.map +0 -1
  317. package/dist/src/storage/migrations/migrator.js +0 -78
  318. package/dist/src/storage/migrations/migrator.js.map +0 -1
  319. package/dist/src/storage/migrations/run-migrations.js +0 -58
  320. package/dist/src/storage/migrations/run-migrations.js.map +0 -1
  321. package/dist/src/storage/migrations/types.js +0 -2
  322. package/dist/src/storage/migrations/types.js.map +0 -1
  323. package/dist/src/storage/txn.js +0 -42
  324. package/dist/src/storage/txn.js.map +0 -1
  325. package/dist/src/subs/default-error-handler.js +0 -27
  326. package/dist/src/subs/default-error-handler.js.map +0 -1
  327. package/dist/src/subs/react-subscription-manager.js +0 -185
  328. package/dist/src/subs/react-subscription-manager.js.map +0 -1
  329. package/dist/src/subs/subscription-notification-read-model.js +0 -62
  330. package/dist/src/subs/subscription-notification-read-model.js.map +0 -1
  331. package/dist/src/subs/types.js +0 -2
  332. package/dist/src/subs/types.js.map +0 -1
  333. package/dist/src/sync/channels/composite-channel-factory.d.ts +0 -30
  334. package/dist/src/sync/channels/composite-channel-factory.d.ts.map +0 -1
  335. package/dist/src/sync/channels/composite-channel-factory.js +0 -87
  336. package/dist/src/sync/channels/composite-channel-factory.js.map +0 -1
  337. package/dist/src/sync/channels/gql-channel-factory.d.ts +0 -25
  338. package/dist/src/sync/channels/gql-channel-factory.d.ts.map +0 -1
  339. package/dist/src/sync/channels/gql-channel-factory.js +0 -76
  340. package/dist/src/sync/channels/gql-channel-factory.js.map +0 -1
  341. package/dist/src/sync/channels/gql-channel.d.ts.map +0 -1
  342. package/dist/src/sync/channels/gql-channel.js +0 -423
  343. package/dist/src/sync/channels/gql-channel.js.map +0 -1
  344. package/dist/src/sync/channels/index.js +0 -6
  345. package/dist/src/sync/channels/index.js.map +0 -1
  346. package/dist/src/sync/channels/polling-channel.d.ts +0 -39
  347. package/dist/src/sync/channels/polling-channel.d.ts.map +0 -1
  348. package/dist/src/sync/channels/polling-channel.js +0 -72
  349. package/dist/src/sync/channels/polling-channel.js.map +0 -1
  350. package/dist/src/sync/channels/utils.js +0 -96
  351. package/dist/src/sync/channels/utils.js.map +0 -1
  352. package/dist/src/sync/errors.js +0 -17
  353. package/dist/src/sync/errors.js.map +0 -1
  354. package/dist/src/sync/index.js +0 -9
  355. package/dist/src/sync/index.js.map +0 -1
  356. package/dist/src/sync/interfaces.js +0 -2
  357. package/dist/src/sync/interfaces.js.map +0 -1
  358. package/dist/src/sync/mailbox.js +0 -59
  359. package/dist/src/sync/mailbox.js.map +0 -1
  360. package/dist/src/sync/sync-builder.js +0 -39
  361. package/dist/src/sync/sync-builder.js.map +0 -1
  362. package/dist/src/sync/sync-manager.js +0 -266
  363. package/dist/src/sync/sync-manager.js.map +0 -1
  364. package/dist/src/sync/sync-operation.js +0 -63
  365. package/dist/src/sync/sync-operation.js.map +0 -1
  366. package/dist/src/sync/types.js +0 -16
  367. package/dist/src/sync/types.js.map +0 -1
  368. package/dist/src/sync/utils.js +0 -78
  369. package/dist/src/sync/utils.js.map +0 -1
  370. package/dist/src/utils/reshuffle.js +0 -47
  371. package/dist/src/utils/reshuffle.js.map +0 -1
@@ -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,123 +0,0 @@
1
- /**
2
- * Creates a consistency key from documentId, scope, and branch.
3
- */
4
- export function makeConsistencyKey(documentId, scope, branch) {
5
- return `${documentId}:${scope}:${branch}`;
6
- }
7
- /**
8
- * Tracks operation indexes for documents and provides read-after-write consistency guarantees.
9
- * Maintains an in-memory map of the latest operation index for each (documentId, scope, branch) tuple.
10
- */
11
- export class ConsistencyTracker {
12
- state = new Map();
13
- waiters = [];
14
- update(coordinates) {
15
- const deduplicated = this.deduplicateCoordinates(coordinates);
16
- for (let i = 0; i < deduplicated.length; i++) {
17
- const coord = deduplicated[i];
18
- const key = makeConsistencyKey(coord.documentId, coord.scope, coord.branch);
19
- const current = this.state.get(key);
20
- if (current === undefined || coord.operationIndex > current) {
21
- this.state.set(key, coord.operationIndex);
22
- }
23
- }
24
- this.checkWaiters();
25
- }
26
- getLatest(key) {
27
- return this.state.get(key);
28
- }
29
- waitFor(coordinates, timeoutMs, signal) {
30
- if (signal?.aborted) {
31
- return Promise.reject(new Error("Operation aborted"));
32
- }
33
- if (this.areCoordinatesSatisfied(coordinates)) {
34
- return Promise.resolve();
35
- }
36
- return new Promise((resolve, reject) => {
37
- const waiter = {
38
- coordinates,
39
- resolve,
40
- reject,
41
- signal,
42
- };
43
- if (timeoutMs !== undefined) {
44
- waiter.timeoutId = setTimeout(() => {
45
- this.removeWaiter(waiter);
46
- reject(new Error(`Consistency wait timed out after ${timeoutMs}ms`));
47
- }, timeoutMs);
48
- }
49
- if (signal) {
50
- const abortHandler = () => {
51
- this.removeWaiter(waiter);
52
- reject(new Error("Operation aborted"));
53
- };
54
- signal.addEventListener("abort", abortHandler, { once: true });
55
- }
56
- this.waiters.push(waiter);
57
- });
58
- }
59
- serialize() {
60
- return Array.from(this.state.entries());
61
- }
62
- hydrate(entries) {
63
- this.state.clear();
64
- for (const [key, index] of entries) {
65
- this.state.set(key, index);
66
- }
67
- }
68
- deduplicateCoordinates(coordinates) {
69
- const map = new Map();
70
- for (let i = 0; i < coordinates.length; i++) {
71
- const coord = coordinates[i];
72
- const key = makeConsistencyKey(coord.documentId, coord.scope, coord.branch);
73
- const existing = map.get(key);
74
- if (!existing || coord.operationIndex > existing.operationIndex) {
75
- map.set(key, coord);
76
- }
77
- }
78
- return Array.from(map.values());
79
- }
80
- areCoordinatesSatisfied(coordinates) {
81
- for (let i = 0; i < coordinates.length; i++) {
82
- const coord = coordinates[i];
83
- const key = makeConsistencyKey(coord.documentId, coord.scope, coord.branch);
84
- const latest = this.state.get(key);
85
- if (latest === undefined || latest < coord.operationIndex) {
86
- return false;
87
- }
88
- }
89
- return true;
90
- }
91
- checkWaiters() {
92
- const satisfiedWaiters = [];
93
- const unsatisfiedWaiters = [];
94
- for (const waiter of this.waiters) {
95
- if (waiter.signal?.aborted) {
96
- continue;
97
- }
98
- if (this.areCoordinatesSatisfied(waiter.coordinates)) {
99
- satisfiedWaiters.push(waiter);
100
- }
101
- else {
102
- unsatisfiedWaiters.push(waiter);
103
- }
104
- }
105
- this.waiters = unsatisfiedWaiters;
106
- for (const waiter of satisfiedWaiters) {
107
- if (waiter.timeoutId !== undefined) {
108
- clearTimeout(waiter.timeoutId);
109
- }
110
- waiter.resolve();
111
- }
112
- }
113
- removeWaiter(waiter) {
114
- const index = this.waiters.indexOf(waiter);
115
- if (index !== -1) {
116
- this.waiters.splice(index, 1);
117
- }
118
- if (waiter.timeoutId !== undefined) {
119
- clearTimeout(waiter.timeoutId);
120
- }
121
- }
122
- }
123
- //# sourceMappingURL=consistency-tracker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consistency-tracker.js","sourceRoot":"","sources":["../../../src/shared/consistency-tracker.ts"],"names":[],"mappings":"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"}
@@ -1,75 +0,0 @@
1
- /**
2
- * Error thrown when attempting to access a deleted document.
3
- */
4
- export class DocumentDeletedError extends Error {
5
- documentId;
6
- deletedAtUtcIso;
7
- constructor(documentId, deletedAtUtcIso = null) {
8
- const message = deletedAtUtcIso
9
- ? `Document ${documentId} was deleted at ${deletedAtUtcIso}`
10
- : `Document ${documentId} has been deleted`;
11
- super(message);
12
- this.name = "DocumentDeletedError";
13
- this.documentId = documentId;
14
- this.deletedAtUtcIso = deletedAtUtcIso;
15
- Error.captureStackTrace(this, DocumentDeletedError);
16
- }
17
- }
18
- /**
19
- * Error thrown when attempting to add operations before CREATE_DOCUMENT.
20
- */
21
- export class CreateDocumentRequiredError extends Error {
22
- documentId;
23
- scope;
24
- constructor(documentId, scope) {
25
- const message = `Document ${documentId} requires a CREATE_DOCUMENT operation at revision 0 in the "document" scope before operations can be added to scope "${scope}"`;
26
- super(message);
27
- this.name = "CreateDocumentRequiredError";
28
- this.documentId = documentId;
29
- this.scope = scope;
30
- Error.captureStackTrace(this, CreateDocumentRequiredError);
31
- }
32
- }
33
- /**
34
- * Error thrown when an operation has an invalid signature.
35
- */
36
- export class InvalidSignatureError extends Error {
37
- documentId;
38
- reason;
39
- constructor(documentId, reason) {
40
- super(`Invalid signature in document ${documentId}: ${reason}`);
41
- this.name = "InvalidSignatureError";
42
- this.documentId = documentId;
43
- this.reason = reason;
44
- Error.captureStackTrace(this, InvalidSignatureError);
45
- }
46
- }
47
- /**
48
- * Error thrown when attempting to downgrade a document version.
49
- */
50
- export class DowngradeNotSupportedError extends Error {
51
- documentType;
52
- fromVersion;
53
- toVersion;
54
- constructor(documentType, fromVersion, toVersion) {
55
- super(`Downgrade not supported for ${documentType}: cannot upgrade from version ${fromVersion} to ${toVersion}`);
56
- this.name = "DowngradeNotSupportedError";
57
- this.documentType = documentType;
58
- this.fromVersion = fromVersion;
59
- this.toVersion = toVersion;
60
- Error.captureStackTrace(this, DowngradeNotSupportedError);
61
- }
62
- }
63
- /**
64
- * Error thrown when an upgrade manifest is required but not registered.
65
- */
66
- export class UpgradeManifestNotFoundError extends Error {
67
- documentType;
68
- constructor(documentType) {
69
- super(`No upgrade manifest registered for document type: ${documentType}`);
70
- this.name = "UpgradeManifestNotFoundError";
71
- this.documentType = documentType;
72
- Error.captureStackTrace(this, UpgradeManifestNotFoundError);
73
- }
74
- }
75
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/shared/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7B,UAAU,CAAS;IACnB,eAAe,CAAgB;IAE/C,YAAY,UAAkB,EAAE,kBAAiC,IAAI;QACnE,MAAM,OAAO,GAAG,eAAe;YAC7B,CAAC,CAAC,YAAY,UAAU,mBAAmB,eAAe,EAAE;YAC5D,CAAC,CAAC,YAAY,UAAU,mBAAmB,CAAC;QAE9C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QAEvC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACtD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpC,UAAU,CAAS;IACnB,KAAK,CAAS;IAE9B,YAAY,UAAkB,EAAE,KAAa;QAC3C,MAAM,OAAO,GAAG,YAAY,UAAU,wHAAwH,KAAK,GAAG,CAAC;QAEvK,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;IAC7D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9B,UAAU,CAAS;IACnB,MAAM,CAAS;IAE/B,YAAY,UAAkB,EAAE,MAAc;QAC5C,KAAK,CAAC,iCAAiC,UAAU,KAAK,MAAM,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IACvD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACnC,YAAY,CAAS;IACrB,WAAW,CAAS;IACpB,SAAS,CAAS;IAElC,YAAY,YAAoB,EAAE,WAAmB,EAAE,SAAiB;QACtE,KAAK,CACH,+BAA+B,YAAY,iCAAiC,WAAW,OAAO,SAAS,EAAE,CAC1G,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;IAC5D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACrC,YAAY,CAAS;IAErC,YAAY,YAAoB;QAC9B,KAAK,CAAC,qDAAqD,YAAY,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;IAC9D,CAAC;CACF"}
@@ -1,33 +0,0 @@
1
- /**
2
- * Factory method to create a ShutdownStatus object
3
- *
4
- * @param isShutdown - Initial shutdown state
5
- * @returns A ShutdownStatus object with a getter for the shutdown state
6
- */
7
- export function createShutdownStatus(isShutdown) {
8
- const shutdownState = isShutdown;
9
- return {
10
- get isShutdown() {
11
- return shutdownState;
12
- },
13
- };
14
- }
15
- /**
16
- * Factory method to create a ShutdownStatus that can be updated
17
- *
18
- * @param initialState - Initial shutdown state (default: false)
19
- * @returns A tuple of [ShutdownStatus, setter function]
20
- */
21
- export function createMutableShutdownStatus(initialState = false) {
22
- let shutdownState = initialState;
23
- const status = {
24
- get isShutdown() {
25
- return shutdownState;
26
- },
27
- };
28
- const setShutdown = (value) => {
29
- shutdownState = value;
30
- };
31
- return [status, setShutdown];
32
- }
33
- //# sourceMappingURL=factories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factories.js","sourceRoot":"","sources":["../../../src/shared/factories.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAmB;IACtD,MAAM,aAAa,GAAG,UAAU,CAAC;IAEjC,OAAO;QACL,IAAI,UAAU;YACZ,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,YAAY,GAAG,KAAK;IAEpB,IAAI,aAAa,GAAG,YAAY,CAAC;IAEjC,MAAM,MAAM,GAAmB;QAC7B,IAAI,UAAU;YACZ,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAE;QACrC,aAAa,GAAG,KAAK,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAC/B,CAAC"}
@@ -1,38 +0,0 @@
1
- /**
2
- * The document ID used for system operations (CREATE_DOCUMENT, DELETE_DOCUMENT, etc.)
3
- * System operations use this special ID along with the "system" scope.
4
- */
5
- export const SYSTEM_DOCUMENT_ID = "00000000-0000-0000-0000-000000000000";
6
- /**
7
- * Enum that determines deletion propagation.
8
- */
9
- export var PropagationMode;
10
- (function (PropagationMode) {
11
- PropagationMode["None"] = "none";
12
- PropagationMode["Cascade"] = "cascade";
13
- })(PropagationMode || (PropagationMode = {}));
14
- /**
15
- * Enum that describes the type of relationship change.
16
- */
17
- export var RelationshipChangeType;
18
- (function (RelationshipChangeType) {
19
- RelationshipChangeType["Added"] = "added";
20
- RelationshipChangeType["Removed"] = "removed";
21
- })(RelationshipChangeType || (RelationshipChangeType = {}));
22
- /**
23
- * Job execution statuses
24
- */
25
- export var JobStatus;
26
- (function (JobStatus) {
27
- /** Job is queued but not yet started */
28
- JobStatus["PENDING"] = "PENDING";
29
- /** Job is currently being executed */
30
- JobStatus["RUNNING"] = "RUNNING";
31
- /** Operations have been written to the operation store (OPERATION_WRITTEN event) */
32
- JobStatus["WRITE_COMPLETED"] = "WRITE_COMPLETED";
33
- /** Read models have finished indexing operations (OPERATIONS_READY event) */
34
- JobStatus["READ_MODELS_READY"] = "READ_MODELS_READY";
35
- /** Job failed (may be retried) */
36
- JobStatus["FAILED"] = "FAILED";
37
- })(JobStatus || (JobStatus = {}));
38
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shared/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AA0BzE;;GAEG;AACH,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,sCAAmB,CAAA;AACrB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,yCAAe,CAAA;IACf,6CAAmB,CAAA;AACrB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AAyBD;;GAEG;AACH,MAAM,CAAN,IAAY,SAWX;AAXD,WAAY,SAAS;IACnB,wCAAwC;IACxC,gCAAmB,CAAA;IACnB,sCAAsC;IACtC,gCAAmB,CAAA;IACnB,oFAAoF;IACpF,gDAAmC,CAAA;IACnC,6EAA6E;IAC7E,oDAAuC,CAAA;IACvC,kCAAkC;IAClC,8BAAiB,CAAA;AACnB,CAAC,EAXW,SAAS,KAAT,SAAS,QAWpB"}
@@ -1,8 +0,0 @@
1
- export function matchesScope(view = {}, scope) {
2
- if (view.scopes) {
3
- return view.scopes.includes(scope);
4
- }
5
- // if there are no scopes specified, we match all scopes
6
- return true;
7
- }
8
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/shared/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,OAAmB,EAAE,EAAE,KAAa;IAC/D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,wDAAwD;IACxD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * A no-op signer that returns empty values for all methods.
3
- * Used when signing is not required.
4
- */
5
- export class PassthroughSigner {
6
- publicKey() {
7
- return Promise.resolve({});
8
- }
9
- sign() {
10
- return Promise.resolve(new Uint8Array(0));
11
- }
12
- verify() {
13
- return Promise.resolve();
14
- }
15
- signAction() {
16
- return Promise.resolve(["", "", "", "", ""]);
17
- }
18
- }
19
- //# sourceMappingURL=passthrough-signer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"passthrough-signer.js","sourceRoot":"","sources":["../../../src/signer/passthrough-signer.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAC5B,SAAS;QACP,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;CACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/signer/types.ts"],"names":[],"mappings":""}
@@ -1,33 +0,0 @@
1
- import type { IDocumentStorage } from "document-drive";
2
- import type { PHDocument } from "document-model";
3
- import type { IEventBus } from "../events/interfaces.js";
4
- import type { IConsistencyTracker } from "../shared/consistency-tracker.js";
5
- import type { ConsistencyToken } from "../shared/types.js";
6
- import type { IConsistencyAwareStorage } from "./interfaces.js";
7
- /**
8
- * A wrapper around IDocumentStorage that provides read-after-write consistency
9
- * by waiting for the consistency tracker to be updated before delegating reads
10
- * to the inner storage.
11
- *
12
- * This is used when legacy storage mode is enabled with async persistence
13
- * (e.g., BrowserStorage with IndexedDB) to ensure documents are available
14
- * for reading after being written.
15
- */
16
- export declare class ConsistencyAwareLegacyStorage implements IConsistencyAwareStorage {
17
- private inner;
18
- private consistencyTracker;
19
- constructor(inner: IDocumentStorage, consistencyTracker: IConsistencyTracker, eventBus: IEventBus);
20
- private waitForConsistency;
21
- get<TDocument extends PHDocument>(id: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<TDocument>;
22
- getBySlug<TDocument extends PHDocument>(slug: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<TDocument>;
23
- exists(id: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<boolean>;
24
- findByType(type: string, limit?: number, cursor?: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<{
25
- documents: string[];
26
- nextCursor: string | undefined;
27
- }>;
28
- getChildren(id: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
29
- resolveIds(slugs: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
30
- resolveSlugs(ids: string[], consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
31
- getParents(childId: string, consistencyToken?: ConsistencyToken, signal?: AbortSignal): Promise<string[]>;
32
- }
33
- //# sourceMappingURL=consistency-aware-legacy-storage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consistency-aware-legacy-storage.d.ts","sourceRoot":"","sources":["../../../src/storage/consistency-aware-legacy-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEhE;;;;;;;;GAQG;AACH,qBAAa,6BAA8B,YAAW,wBAAwB;IAE1E,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,kBAAkB;gBADlB,KAAK,EAAE,gBAAgB,EACvB,kBAAkB,EAAE,mBAAmB,EAC/C,QAAQ,EAAE,SAAS;YAgBP,kBAAkB;IAa1B,GAAG,CAAC,SAAS,SAAS,UAAU,EACpC,EAAE,EAAE,MAAM,EACV,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC;IAKf,SAAS,CAAC,SAAS,SAAS,UAAU,EAC1C,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC;IAKf,MAAM,CACV,EAAE,EAAE,MAAM,EACV,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,CAAC;IAKb,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAK7D,WAAW,CACf,EAAE,EAAE,MAAM,EACV,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IAKd,UAAU,CACd,KAAK,EAAE,MAAM,EAAE,EACf,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IAKd,YAAY,CAChB,GAAG,EAAE,MAAM,EAAE,EACb,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IAKd,UAAU,CACd,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;CAIrB"}
@@ -1,65 +0,0 @@
1
- import { OperationEventTypes } from "../events/types.js";
2
- /**
3
- * A wrapper around IDocumentStorage that provides read-after-write consistency
4
- * by waiting for the consistency tracker to be updated before delegating reads
5
- * to the inner storage.
6
- *
7
- * This is used when legacy storage mode is enabled with async persistence
8
- * (e.g., BrowserStorage with IndexedDB) to ensure documents are available
9
- * for reading after being written.
10
- */
11
- export class ConsistencyAwareLegacyStorage {
12
- inner;
13
- consistencyTracker;
14
- constructor(inner, consistencyTracker, eventBus) {
15
- this.inner = inner;
16
- this.consistencyTracker = consistencyTracker;
17
- eventBus.subscribe(OperationEventTypes.OPERATION_WRITTEN, (_type, event) => {
18
- const coordinates = event.operations.map((op) => ({
19
- documentId: op.context.documentId,
20
- scope: op.context.scope,
21
- branch: op.context.branch,
22
- operationIndex: op.operation.index,
23
- }));
24
- this.consistencyTracker.update(coordinates);
25
- });
26
- }
27
- async waitForConsistency(consistencyToken, signal) {
28
- if (consistencyToken && consistencyToken.coordinates.length > 0) {
29
- await this.consistencyTracker.waitFor(consistencyToken.coordinates, undefined, signal);
30
- }
31
- }
32
- async get(id, consistencyToken, signal) {
33
- await this.waitForConsistency(consistencyToken, signal);
34
- return this.inner.get(id);
35
- }
36
- async getBySlug(slug, consistencyToken, signal) {
37
- await this.waitForConsistency(consistencyToken, signal);
38
- return this.inner.getBySlug(slug);
39
- }
40
- async exists(id, consistencyToken, signal) {
41
- await this.waitForConsistency(consistencyToken, signal);
42
- return this.inner.exists(id);
43
- }
44
- async findByType(type, limit, cursor, consistencyToken, signal) {
45
- await this.waitForConsistency(consistencyToken, signal);
46
- return this.inner.findByType(type, limit, cursor);
47
- }
48
- async getChildren(id, consistencyToken, signal) {
49
- await this.waitForConsistency(consistencyToken, signal);
50
- return this.inner.getChildren(id);
51
- }
52
- async resolveIds(slugs, consistencyToken, signal) {
53
- await this.waitForConsistency(consistencyToken, signal);
54
- return this.inner.resolveIds(slugs, signal);
55
- }
56
- async resolveSlugs(ids, consistencyToken, signal) {
57
- await this.waitForConsistency(consistencyToken, signal);
58
- return this.inner.resolveSlugs(ids, signal);
59
- }
60
- async getParents(childId, consistencyToken, signal) {
61
- await this.waitForConsistency(consistencyToken, signal);
62
- return this.inner.getParents(childId);
63
- }
64
- }
65
- //# sourceMappingURL=consistency-aware-legacy-storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consistency-aware-legacy-storage.js","sourceRoot":"","sources":["../../../src/storage/consistency-aware-legacy-storage.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { KyselySyncCursorStorage } from "./kysely/sync-cursor-storage.js";
2
- export { KyselySyncRemoteStorage } from "./kysely/sync-remote-storage.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC"}
@@ -1,19 +0,0 @@
1
- export class DuplicateOperationError extends Error {
2
- constructor(description) {
3
- super(`Duplicate operation: ${description}`);
4
- this.name = "DuplicateOperationError";
5
- }
6
- }
7
- export class OptimisticLockError extends Error {
8
- constructor(message) {
9
- super(message);
10
- this.name = "OptimisticLockError";
11
- }
12
- }
13
- export class RevisionMismatchError extends Error {
14
- constructor(expected, actual) {
15
- super(`Revision mismatch: expected ${expected}, got ${actual}`);
16
- this.name = "RevisionMismatchError";
17
- }
18
- }
19
- //# sourceMappingURL=interfaces.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/storage/interfaces.ts"],"names":[],"mappings":"AAoBA,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,WAAmB;QAC7B,KAAK,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,QAAgB,EAAE,MAAc;QAC1C,KAAK,CAAC,+BAA+B,QAAQ,SAAS,MAAM,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF"}