@powerhousedao/reactor 6.0.0-dev.1 → 6.0.0-dev.100

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 (385) hide show
  1. package/dist/src/admin/document-integrity-service.d.ts +17 -0
  2. package/dist/src/admin/document-integrity-service.d.ts.map +1 -0
  3. package/dist/src/admin/types.d.ts +30 -0
  4. package/dist/src/admin/types.d.ts.map +1 -0
  5. package/dist/src/cache/collection-membership-cache.d.ts +14 -0
  6. package/dist/src/cache/collection-membership-cache.d.ts.map +1 -0
  7. package/dist/src/cache/document-meta-cache.d.ts +1 -0
  8. package/dist/src/cache/document-meta-cache.d.ts.map +1 -1
  9. package/dist/src/cache/kysely-operation-index.d.ts +11 -2
  10. package/dist/src/cache/kysely-operation-index.d.ts.map +1 -1
  11. package/dist/src/cache/kysely-write-cache.d.ts +10 -2
  12. package/dist/src/cache/kysely-write-cache.d.ts.map +1 -1
  13. package/dist/src/cache/operation-index-types.d.ts +16 -2
  14. package/dist/src/cache/operation-index-types.d.ts.map +1 -1
  15. package/dist/src/cache/write/interfaces.d.ts +7 -2
  16. package/dist/src/cache/write/interfaces.d.ts.map +1 -1
  17. package/dist/src/client/reactor-client.d.ts +15 -12
  18. package/dist/src/client/reactor-client.d.ts.map +1 -1
  19. package/dist/src/client/types.d.ts +37 -9
  20. package/dist/src/client/types.d.ts.map +1 -1
  21. package/dist/src/core/reactor-builder.d.ts +23 -10
  22. package/dist/src/core/reactor-builder.d.ts.map +1 -1
  23. package/dist/src/core/reactor-client-builder.d.ts +8 -4
  24. package/dist/src/core/reactor-client-builder.d.ts.map +1 -1
  25. package/dist/src/core/reactor.d.ts +20 -80
  26. package/dist/src/core/reactor.d.ts.map +1 -1
  27. package/dist/src/core/types.d.ts +64 -28
  28. package/dist/src/core/types.d.ts.map +1 -1
  29. package/dist/src/core/utils.d.ts +39 -3
  30. package/dist/src/core/utils.d.ts.map +1 -1
  31. package/dist/src/events/types.d.ts +35 -10
  32. package/dist/src/events/types.d.ts.map +1 -1
  33. package/dist/src/executor/document-action-handler.d.ts +30 -0
  34. package/dist/src/executor/document-action-handler.d.ts.map +1 -0
  35. package/dist/src/executor/execution-scope.d.ts +44 -0
  36. package/dist/src/executor/execution-scope.d.ts.map +1 -0
  37. package/dist/src/executor/interfaces.d.ts +1 -1
  38. package/dist/src/executor/interfaces.d.ts.map +1 -1
  39. package/dist/src/executor/signature-verifier.d.ts +9 -0
  40. package/dist/src/executor/signature-verifier.d.ts.map +1 -0
  41. package/dist/src/executor/simple-job-executor-manager.d.ts +7 -1
  42. package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -1
  43. package/dist/src/executor/simple-job-executor.d.ts +9 -47
  44. package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
  45. package/dist/src/executor/types.d.ts +1 -3
  46. package/dist/src/executor/types.d.ts.map +1 -1
  47. package/dist/src/executor/util.d.ts +12 -2
  48. package/dist/src/executor/util.d.ts.map +1 -1
  49. package/dist/src/index.d.ts +13 -9
  50. package/dist/src/index.d.ts.map +1 -1
  51. package/dist/src/index.js +20652 -61
  52. package/dist/src/job-tracker/in-memory-job-tracker.d.ts +4 -3
  53. package/dist/src/job-tracker/in-memory-job-tracker.d.ts.map +1 -1
  54. package/dist/src/job-tracker/interfaces.d.ts +3 -1
  55. package/dist/src/job-tracker/interfaces.d.ts.map +1 -1
  56. package/dist/src/logging/console.d.ts +1 -22
  57. package/dist/src/logging/console.d.ts.map +1 -1
  58. package/dist/src/logging/types.d.ts +1 -11
  59. package/dist/src/logging/types.d.ts.map +1 -1
  60. package/dist/src/processors/index.d.ts +0 -1
  61. package/dist/src/processors/index.d.ts.map +1 -1
  62. package/dist/src/processors/processor-manager.d.ts +19 -6
  63. package/dist/src/processors/processor-manager.d.ts.map +1 -1
  64. package/dist/src/processors/utils.d.ts +3 -2
  65. package/dist/src/processors/utils.d.ts.map +1 -1
  66. package/dist/src/queue/job-execution-handle.d.ts +3 -0
  67. package/dist/src/queue/job-execution-handle.d.ts.map +1 -1
  68. package/dist/src/queue/queue.d.ts +30 -1
  69. package/dist/src/queue/queue.d.ts.map +1 -1
  70. package/dist/src/queue/types.d.ts +4 -3
  71. package/dist/src/queue/types.d.ts.map +1 -1
  72. package/dist/src/read-models/base-read-model.d.ts +11 -9
  73. package/dist/src/read-models/base-read-model.d.ts.map +1 -1
  74. package/dist/src/read-models/coordinator.d.ts +2 -2
  75. package/dist/src/read-models/coordinator.d.ts.map +1 -1
  76. package/dist/src/read-models/document-view.d.ts +7 -4
  77. package/dist/src/read-models/document-view.d.ts.map +1 -1
  78. package/dist/src/read-models/interfaces.d.ts +1 -1
  79. package/dist/src/read-models/interfaces.d.ts.map +1 -1
  80. package/dist/src/read-models/types.d.ts +16 -0
  81. package/dist/src/read-models/types.d.ts.map +1 -1
  82. package/dist/src/registry/document-model-resolver.d.ts +29 -0
  83. package/dist/src/registry/document-model-resolver.d.ts.map +1 -0
  84. package/dist/src/registry/implementation.d.ts +4 -0
  85. package/dist/src/registry/implementation.d.ts.map +1 -1
  86. package/dist/src/registry/index.d.ts +3 -1
  87. package/dist/src/registry/index.d.ts.map +1 -1
  88. package/dist/src/registry/interfaces.d.ts +8 -0
  89. package/dist/src/registry/interfaces.d.ts.map +1 -1
  90. package/dist/src/shared/awaiter.d.ts +2 -2
  91. package/dist/src/shared/awaiter.d.ts.map +1 -1
  92. package/dist/src/shared/collect-all-pages.d.ts +7 -0
  93. package/dist/src/shared/collect-all-pages.d.ts.map +1 -0
  94. package/dist/src/shared/drive-url.d.ts +15 -0
  95. package/dist/src/shared/drive-url.d.ts.map +1 -0
  96. package/dist/src/shared/errors.d.ts +9 -0
  97. package/dist/src/shared/errors.d.ts.map +1 -1
  98. package/dist/src/shared/factories.d.ts +6 -2
  99. package/dist/src/shared/factories.d.ts.map +1 -1
  100. package/dist/src/shared/types.d.ts +32 -6
  101. package/dist/src/shared/types.d.ts.map +1 -1
  102. package/dist/src/signer/passthrough-signer.d.ts +1 -1
  103. package/dist/src/signer/passthrough-signer.d.ts.map +1 -1
  104. package/dist/src/storage/interfaces.d.ts +259 -124
  105. package/dist/src/storage/interfaces.d.ts.map +1 -1
  106. package/dist/src/storage/kysely/document-indexer.d.ts +17 -18
  107. package/dist/src/storage/kysely/document-indexer.d.ts.map +1 -1
  108. package/dist/src/storage/kysely/keyframe-store.d.ts +10 -1
  109. package/dist/src/storage/kysely/keyframe-store.d.ts.map +1 -1
  110. package/dist/src/storage/kysely/store.d.ts +9 -4
  111. package/dist/src/storage/kysely/store.d.ts.map +1 -1
  112. package/dist/src/storage/kysely/sync-cursor-storage.d.ts +1 -1
  113. package/dist/src/storage/kysely/sync-cursor-storage.d.ts.map +1 -1
  114. package/dist/src/storage/kysely/sync-dead-letter-storage.d.ts +18 -0
  115. package/dist/src/storage/kysely/sync-dead-letter-storage.d.ts.map +1 -0
  116. package/dist/src/storage/kysely/types.d.ts +22 -0
  117. package/dist/src/storage/kysely/types.d.ts.map +1 -1
  118. package/dist/src/storage/migrations/011_add_cursor_type_column.d.ts +3 -0
  119. package/dist/src/storage/migrations/011_add_cursor_type_column.d.ts.map +1 -0
  120. package/dist/src/storage/migrations/012_add_source_remote_column.d.ts +3 -0
  121. package/dist/src/storage/migrations/012_add_source_remote_column.d.ts.map +1 -0
  122. package/dist/src/storage/migrations/013_create_sync_dead_letters_table.d.ts +3 -0
  123. package/dist/src/storage/migrations/013_create_sync_dead_letters_table.d.ts.map +1 -0
  124. package/dist/src/storage/migrations/014_create_processor_cursor_table.d.ts +3 -0
  125. package/dist/src/storage/migrations/014_create_processor_cursor_table.d.ts.map +1 -0
  126. package/dist/src/storage/migrations/migrator.d.ts.map +1 -1
  127. package/dist/src/subs/default-error-handler.d.ts.map +1 -1
  128. package/dist/src/subs/subscription-notification-read-model.d.ts +3 -2
  129. package/dist/src/subs/subscription-notification-read-model.d.ts.map +1 -1
  130. package/dist/src/sync/batch-aggregator.d.ts +25 -0
  131. package/dist/src/sync/batch-aggregator.d.ts.map +1 -0
  132. package/dist/src/sync/buffered-mailbox.d.ts +37 -0
  133. package/dist/src/sync/buffered-mailbox.d.ts.map +1 -0
  134. package/dist/src/sync/channels/gql-req-channel.d.ts +133 -0
  135. package/dist/src/sync/channels/gql-req-channel.d.ts.map +1 -0
  136. package/dist/src/sync/channels/gql-request-channel-factory.d.ts +32 -0
  137. package/dist/src/sync/channels/gql-request-channel-factory.d.ts.map +1 -0
  138. package/dist/src/sync/channels/gql-res-channel.d.ts +31 -0
  139. package/dist/src/sync/channels/gql-res-channel.d.ts.map +1 -0
  140. package/dist/src/sync/channels/gql-response-channel-factory.d.ts +13 -0
  141. package/dist/src/sync/channels/gql-response-channel-factory.d.ts.map +1 -0
  142. package/dist/src/sync/channels/index.d.ts +6 -4
  143. package/dist/src/sync/channels/index.d.ts.map +1 -1
  144. package/dist/src/sync/channels/interval-poll-timer.d.ts +40 -0
  145. package/dist/src/sync/channels/interval-poll-timer.d.ts.map +1 -0
  146. package/dist/src/sync/channels/poll-timer.d.ts +14 -0
  147. package/dist/src/sync/channels/poll-timer.d.ts.map +1 -0
  148. package/dist/src/sync/channels/utils.d.ts +15 -1
  149. package/dist/src/sync/channels/utils.d.ts.map +1 -1
  150. package/dist/src/sync/errors.d.ts +6 -0
  151. package/dist/src/sync/errors.d.ts.map +1 -1
  152. package/dist/src/sync/index.d.ts +11 -7
  153. package/dist/src/sync/index.d.ts.map +1 -1
  154. package/dist/src/sync/interfaces.d.ts +42 -19
  155. package/dist/src/sync/interfaces.d.ts.map +1 -1
  156. package/dist/src/sync/mailbox.d.ts +53 -12
  157. package/dist/src/sync/mailbox.d.ts.map +1 -1
  158. package/dist/src/sync/sync-awaiter.d.ts +34 -0
  159. package/dist/src/sync/sync-awaiter.d.ts.map +1 -0
  160. package/dist/src/sync/sync-builder.d.ts +5 -1
  161. package/dist/src/sync/sync-builder.d.ts.map +1 -1
  162. package/dist/src/sync/sync-manager.d.ts +24 -10
  163. package/dist/src/sync/sync-manager.d.ts.map +1 -1
  164. package/dist/src/sync/sync-operation.d.ts +4 -2
  165. package/dist/src/sync/sync-operation.d.ts.map +1 -1
  166. package/dist/src/sync/sync-status-tracker.d.ts +31 -0
  167. package/dist/src/sync/sync-status-tracker.d.ts.map +1 -0
  168. package/dist/src/sync/types.d.ts +107 -2
  169. package/dist/src/sync/types.d.ts.map +1 -1
  170. package/dist/src/sync/utils.d.ts +37 -2
  171. package/dist/src/sync/utils.d.ts.map +1 -1
  172. package/dist/src/utils/reshuffle.d.ts +22 -5
  173. package/dist/src/utils/reshuffle.d.ts.map +1 -1
  174. package/package.json +24 -20
  175. package/dist/src/actions/index.js +0 -76
  176. package/dist/src/actions/index.js.map +0 -1
  177. package/dist/src/cache/buffer/ring-buffer.js +0 -69
  178. package/dist/src/cache/buffer/ring-buffer.js.map +0 -1
  179. package/dist/src/cache/document-meta-cache-types.js +0 -2
  180. package/dist/src/cache/document-meta-cache-types.js.map +0 -1
  181. package/dist/src/cache/document-meta-cache.js +0 -128
  182. package/dist/src/cache/document-meta-cache.js.map +0 -1
  183. package/dist/src/cache/index.js +0 -2
  184. package/dist/src/cache/index.js.map +0 -1
  185. package/dist/src/cache/kysely-operation-index.js +0 -250
  186. package/dist/src/cache/kysely-operation-index.js.map +0 -1
  187. package/dist/src/cache/kysely-write-cache.js +0 -388
  188. package/dist/src/cache/kysely-write-cache.js.map +0 -1
  189. package/dist/src/cache/lru/lru-tracker.js +0 -96
  190. package/dist/src/cache/lru/lru-tracker.js.map +0 -1
  191. package/dist/src/cache/operation-index-types.js +0 -4
  192. package/dist/src/cache/operation-index-types.js.map +0 -1
  193. package/dist/src/cache/write/interfaces.js +0 -2
  194. package/dist/src/cache/write/interfaces.js.map +0 -1
  195. package/dist/src/cache/write-cache-types.js +0 -2
  196. package/dist/src/cache/write-cache-types.js.map +0 -1
  197. package/dist/src/client/reactor-client.js +0 -389
  198. package/dist/src/client/reactor-client.js.map +0 -1
  199. package/dist/src/client/types.js +0 -14
  200. package/dist/src/client/types.js.map +0 -1
  201. package/dist/src/core/reactor-builder.js +0 -231
  202. package/dist/src/core/reactor-builder.js.map +0 -1
  203. package/dist/src/core/reactor-client-builder.js +0 -123
  204. package/dist/src/core/reactor-client-builder.js.map +0 -1
  205. package/dist/src/core/reactor.js +0 -981
  206. package/dist/src/core/reactor.js.map +0 -1
  207. package/dist/src/core/types.js +0 -2
  208. package/dist/src/core/types.js.map +0 -1
  209. package/dist/src/core/utils.js +0 -171
  210. package/dist/src/core/utils.js.map +0 -1
  211. package/dist/src/events/event-bus.js +0 -53
  212. package/dist/src/events/event-bus.js.map +0 -1
  213. package/dist/src/events/interfaces.js +0 -2
  214. package/dist/src/events/interfaces.js.map +0 -1
  215. package/dist/src/events/types.js +0 -28
  216. package/dist/src/events/types.js.map +0 -1
  217. package/dist/src/executor/interfaces.js +0 -2
  218. package/dist/src/executor/interfaces.js.map +0 -1
  219. package/dist/src/executor/simple-job-executor-manager.js +0 -233
  220. package/dist/src/executor/simple-job-executor-manager.js.map +0 -1
  221. package/dist/src/executor/simple-job-executor.js +0 -927
  222. package/dist/src/executor/simple-job-executor.js.map +0 -1
  223. package/dist/src/executor/types.js +0 -11
  224. package/dist/src/executor/types.js.map +0 -1
  225. package/dist/src/executor/util.js +0 -184
  226. package/dist/src/executor/util.js.map +0 -1
  227. package/dist/src/index.js.map +0 -1
  228. package/dist/src/job-tracker/in-memory-job-tracker.js +0 -112
  229. package/dist/src/job-tracker/in-memory-job-tracker.js.map +0 -1
  230. package/dist/src/job-tracker/index.js +0 -2
  231. package/dist/src/job-tracker/index.js.map +0 -1
  232. package/dist/src/job-tracker/interfaces.js +0 -2
  233. package/dist/src/job-tracker/interfaces.js.map +0 -1
  234. package/dist/src/logging/console.js +0 -108
  235. package/dist/src/logging/console.js.map +0 -1
  236. package/dist/src/logging/types.js +0 -2
  237. package/dist/src/logging/types.js.map +0 -1
  238. package/dist/src/processors/index.js +0 -2
  239. package/dist/src/processors/index.js.map +0 -1
  240. package/dist/src/processors/processor-manager.js +0 -165
  241. package/dist/src/processors/processor-manager.js.map +0 -1
  242. package/dist/src/processors/types.d.ts +0 -63
  243. package/dist/src/processors/types.d.ts.map +0 -1
  244. package/dist/src/processors/types.js +0 -2
  245. package/dist/src/processors/types.js.map +0 -1
  246. package/dist/src/processors/utils.js +0 -58
  247. package/dist/src/processors/utils.js.map +0 -1
  248. package/dist/src/queue/interfaces.js +0 -2
  249. package/dist/src/queue/interfaces.js.map +0 -1
  250. package/dist/src/queue/job-execution-handle.js +0 -62
  251. package/dist/src/queue/job-execution-handle.js.map +0 -1
  252. package/dist/src/queue/queue.js +0 -384
  253. package/dist/src/queue/queue.js.map +0 -1
  254. package/dist/src/queue/types.js +0 -19
  255. package/dist/src/queue/types.js.map +0 -1
  256. package/dist/src/read-models/base-read-model.js +0 -143
  257. package/dist/src/read-models/base-read-model.js.map +0 -1
  258. package/dist/src/read-models/coordinator.js +0 -72
  259. package/dist/src/read-models/coordinator.js.map +0 -1
  260. package/dist/src/read-models/document-view.js +0 -375
  261. package/dist/src/read-models/document-view.js.map +0 -1
  262. package/dist/src/read-models/interfaces.js +0 -2
  263. package/dist/src/read-models/interfaces.js.map +0 -1
  264. package/dist/src/read-models/types.js +0 -2
  265. package/dist/src/read-models/types.js.map +0 -1
  266. package/dist/src/registry/implementation.js +0 -216
  267. package/dist/src/registry/implementation.js.map +0 -1
  268. package/dist/src/registry/index.js +0 -2
  269. package/dist/src/registry/index.js.map +0 -1
  270. package/dist/src/registry/interfaces.js +0 -2
  271. package/dist/src/registry/interfaces.js.map +0 -1
  272. package/dist/src/shared/awaiter.js +0 -123
  273. package/dist/src/shared/awaiter.js.map +0 -1
  274. package/dist/src/shared/consistency-tracker.js +0 -123
  275. package/dist/src/shared/consistency-tracker.js.map +0 -1
  276. package/dist/src/shared/errors.js +0 -75
  277. package/dist/src/shared/errors.js.map +0 -1
  278. package/dist/src/shared/factories.js +0 -33
  279. package/dist/src/shared/factories.js.map +0 -1
  280. package/dist/src/shared/types.js +0 -38
  281. package/dist/src/shared/types.js.map +0 -1
  282. package/dist/src/shared/utils.js +0 -8
  283. package/dist/src/shared/utils.js.map +0 -1
  284. package/dist/src/signer/passthrough-signer.js +0 -19
  285. package/dist/src/signer/passthrough-signer.js.map +0 -1
  286. package/dist/src/signer/types.js +0 -2
  287. package/dist/src/signer/types.js.map +0 -1
  288. package/dist/src/storage/consistency-aware-legacy-storage.d.ts +0 -33
  289. package/dist/src/storage/consistency-aware-legacy-storage.d.ts.map +0 -1
  290. package/dist/src/storage/consistency-aware-legacy-storage.js +0 -65
  291. package/dist/src/storage/consistency-aware-legacy-storage.js.map +0 -1
  292. package/dist/src/storage/index.js +0 -3
  293. package/dist/src/storage/index.js.map +0 -1
  294. package/dist/src/storage/interfaces.js +0 -19
  295. package/dist/src/storage/interfaces.js.map +0 -1
  296. package/dist/src/storage/kysely/document-indexer.js +0 -350
  297. package/dist/src/storage/kysely/document-indexer.js.map +0 -1
  298. package/dist/src/storage/kysely/keyframe-store.js +0 -64
  299. package/dist/src/storage/kysely/keyframe-store.js.map +0 -1
  300. package/dist/src/storage/kysely/store.js +0 -233
  301. package/dist/src/storage/kysely/store.js.map +0 -1
  302. package/dist/src/storage/kysely/sync-cursor-storage.js +0 -93
  303. package/dist/src/storage/kysely/sync-cursor-storage.js.map +0 -1
  304. package/dist/src/storage/kysely/sync-remote-storage.js +0 -133
  305. package/dist/src/storage/kysely/sync-remote-storage.js.map +0 -1
  306. package/dist/src/storage/kysely/types.js +0 -2
  307. package/dist/src/storage/kysely/types.js.map +0 -1
  308. package/dist/src/storage/migrations/001_create_operation_table.js +0 -41
  309. package/dist/src/storage/migrations/001_create_operation_table.js.map +0 -1
  310. package/dist/src/storage/migrations/002_create_keyframe_table.js +0 -27
  311. package/dist/src/storage/migrations/002_create_keyframe_table.js.map +0 -1
  312. package/dist/src/storage/migrations/003_create_document_table.js +0 -10
  313. package/dist/src/storage/migrations/003_create_document_table.js.map +0 -1
  314. package/dist/src/storage/migrations/004_create_document_relationship_table.js +0 -35
  315. package/dist/src/storage/migrations/004_create_document_relationship_table.js.map +0 -1
  316. package/dist/src/storage/migrations/005_create_indexer_state_table.js +0 -10
  317. package/dist/src/storage/migrations/005_create_indexer_state_table.js.map +0 -1
  318. package/dist/src/storage/migrations/006_create_document_snapshot_table.js +0 -49
  319. package/dist/src/storage/migrations/006_create_document_snapshot_table.js.map +0 -1
  320. package/dist/src/storage/migrations/007_create_slug_mapping_table.js +0 -24
  321. package/dist/src/storage/migrations/007_create_slug_mapping_table.js.map +0 -1
  322. package/dist/src/storage/migrations/008_create_view_state_table.js +0 -10
  323. package/dist/src/storage/migrations/008_create_view_state_table.js.map +0 -1
  324. package/dist/src/storage/migrations/009_create_operation_index_tables.js +0 -50
  325. package/dist/src/storage/migrations/009_create_operation_index_tables.js.map +0 -1
  326. package/dist/src/storage/migrations/010_create_sync_tables.js +0 -43
  327. package/dist/src/storage/migrations/010_create_sync_tables.js.map +0 -1
  328. package/dist/src/storage/migrations/index.js +0 -3
  329. package/dist/src/storage/migrations/index.js.map +0 -1
  330. package/dist/src/storage/migrations/migrator.js +0 -78
  331. package/dist/src/storage/migrations/migrator.js.map +0 -1
  332. package/dist/src/storage/migrations/run-migrations.js +0 -58
  333. package/dist/src/storage/migrations/run-migrations.js.map +0 -1
  334. package/dist/src/storage/migrations/types.js +0 -2
  335. package/dist/src/storage/migrations/types.js.map +0 -1
  336. package/dist/src/storage/txn.js +0 -42
  337. package/dist/src/storage/txn.js.map +0 -1
  338. package/dist/src/subs/default-error-handler.js +0 -27
  339. package/dist/src/subs/default-error-handler.js.map +0 -1
  340. package/dist/src/subs/react-subscription-manager.js +0 -185
  341. package/dist/src/subs/react-subscription-manager.js.map +0 -1
  342. package/dist/src/subs/subscription-notification-read-model.js +0 -62
  343. package/dist/src/subs/subscription-notification-read-model.js.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.js +0 -6
  359. package/dist/src/sync/channels/index.js.map +0 -1
  360. package/dist/src/sync/channels/polling-channel.d.ts +0 -39
  361. package/dist/src/sync/channels/polling-channel.d.ts.map +0 -1
  362. package/dist/src/sync/channels/polling-channel.js +0 -72
  363. package/dist/src/sync/channels/polling-channel.js.map +0 -1
  364. package/dist/src/sync/channels/utils.js +0 -96
  365. package/dist/src/sync/channels/utils.js.map +0 -1
  366. package/dist/src/sync/errors.js +0 -17
  367. package/dist/src/sync/errors.js.map +0 -1
  368. package/dist/src/sync/index.js +0 -9
  369. package/dist/src/sync/index.js.map +0 -1
  370. package/dist/src/sync/interfaces.js +0 -2
  371. package/dist/src/sync/interfaces.js.map +0 -1
  372. package/dist/src/sync/mailbox.js +0 -59
  373. package/dist/src/sync/mailbox.js.map +0 -1
  374. package/dist/src/sync/sync-builder.js +0 -39
  375. package/dist/src/sync/sync-builder.js.map +0 -1
  376. package/dist/src/sync/sync-manager.js +0 -266
  377. package/dist/src/sync/sync-manager.js.map +0 -1
  378. package/dist/src/sync/sync-operation.js +0 -63
  379. package/dist/src/sync/sync-operation.js.map +0 -1
  380. package/dist/src/sync/types.js +0 -16
  381. package/dist/src/sync/types.js.map +0 -1
  382. package/dist/src/sync/utils.js +0 -78
  383. package/dist/src/sync/utils.js.map +0 -1
  384. package/dist/src/utils/reshuffle.js +0 -47
  385. package/dist/src/utils/reshuffle.js.map +0 -1
@@ -0,0 +1,17 @@
1
+ import type { IWriteCache } from "../cache/write/interfaces.js";
2
+ import type { IDocumentModelRegistry } from "../registry/interfaces.js";
3
+ import type { IDocumentView, IKeyframeStore, IOperationStore } from "../storage/interfaces.js";
4
+ import type { IDocumentIntegrityService, RebuildResult, ValidationResult } from "./types.js";
5
+ export declare class DocumentIntegrityService implements IDocumentIntegrityService {
6
+ private readonly keyframeStore;
7
+ private readonly operationStore;
8
+ private readonly writeCache;
9
+ private readonly documentView;
10
+ private readonly documentModelRegistry;
11
+ constructor(keyframeStore: IKeyframeStore, operationStore: IOperationStore, writeCache: IWriteCache, documentView: IDocumentView, documentModelRegistry: IDocumentModelRegistry);
12
+ validateDocument(documentId: string, branch?: string, signal?: AbortSignal): Promise<ValidationResult>;
13
+ rebuildKeyframes(documentId: string, branch?: string, signal?: AbortSignal): Promise<RebuildResult>;
14
+ rebuildSnapshots(documentId: string, branch?: string, signal?: AbortSignal): Promise<RebuildResult>;
15
+ private discoverScopes;
16
+ }
17
+ //# sourceMappingURL=document-integrity-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-integrity-service.d.ts","sourceRoot":"","sources":["../../../src/admin/document-integrity-service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,yBAAyB,EAEzB,aAAa,EAEb,gBAAgB,EACjB,MAAM,YAAY,CAAC;AASpB,qBAAa,wBAAyB,YAAW,yBAAyB;IACxE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAyB;gBAG7D,aAAa,EAAE,cAAc,EAC7B,cAAc,EAAE,eAAe,EAC/B,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE,aAAa,EAC3B,qBAAqB,EAAE,sBAAsB;IASzC,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,SAAS,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,CAAC;IAiHtB,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,SAAS,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,aAAa,CAAC;IAenB,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,SAAS,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,aAAa,CAAC;YAiBX,cAAc;CAY7B"}
@@ -0,0 +1,30 @@
1
+ export type KeyframeValidationIssue = {
2
+ scope: string;
3
+ branch: string;
4
+ revision: number;
5
+ keyframeHash: string;
6
+ replayedHash: string;
7
+ };
8
+ export type SnapshotValidationIssue = {
9
+ scope: string;
10
+ branch: string;
11
+ snapshotHash: string;
12
+ replayedHash: string;
13
+ };
14
+ export type ValidationResult = {
15
+ documentId: string;
16
+ isConsistent: boolean;
17
+ keyframeIssues: KeyframeValidationIssue[];
18
+ snapshotIssues: SnapshotValidationIssue[];
19
+ };
20
+ export type RebuildResult = {
21
+ documentId: string;
22
+ keyframesDeleted: number;
23
+ scopesInvalidated: number;
24
+ };
25
+ export interface IDocumentIntegrityService {
26
+ validateDocument(documentId: string, branch?: string, signal?: AbortSignal): Promise<ValidationResult>;
27
+ rebuildKeyframes(documentId: string, branch?: string, signal?: AbortSignal): Promise<RebuildResult>;
28
+ rebuildSnapshots(documentId: string, branch?: string, signal?: AbortSignal): Promise<RebuildResult>;
29
+ }
30
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/admin/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,uBAAuB,EAAE,CAAC;IAC1C,cAAc,EAAE,uBAAuB,EAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,CACd,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B,gBAAgB,CACd,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1B,gBAAgB,CACd,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3B"}
@@ -0,0 +1,14 @@
1
+ import type { IOperationIndex } from "./operation-index-types.js";
2
+ export interface ICollectionMembershipCache {
3
+ getCollectionsForDocuments(documentIds: string[]): Promise<Record<string, string[]>>;
4
+ invalidate(documentId: string): void;
5
+ }
6
+ export declare class CollectionMembershipCache implements ICollectionMembershipCache {
7
+ private operationIndex;
8
+ private cache;
9
+ constructor(operationIndex: IOperationIndex);
10
+ withScopedIndex(operationIndex: IOperationIndex): CollectionMembershipCache;
11
+ getCollectionsForDocuments(documentIds: string[]): Promise<Record<string, string[]>>;
12
+ invalidate(documentId: string): void;
13
+ }
14
+ //# sourceMappingURL=collection-membership-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection-membership-cache.d.ts","sourceRoot":"","sources":["../../../src/cache/collection-membership-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,WAAW,0BAA0B;IAEzC,0BAA0B,CACxB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAGrC,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,qBAAa,yBAA0B,YAAW,0BAA0B;IAG9D,OAAO,CAAC,cAAc;IAFlC,OAAO,CAAC,KAAK,CAAoC;gBAE7B,cAAc,EAAE,eAAe;IAEnD,eAAe,CAAC,cAAc,EAAE,eAAe,GAAG,yBAAyB;IAMrE,0BAA0B,CAC9B,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IA0BpC,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;CAGrC"}
@@ -16,6 +16,7 @@ export declare class DocumentMetaCache implements IDocumentMetaCache {
16
16
  private operationStore;
17
17
  private config;
18
18
  constructor(operationStore: IOperationStore, config: DocumentMetaCacheConfig);
19
+ withScopedStore(operationStore: IOperationStore): DocumentMetaCache;
19
20
  startup(): Promise<void>;
20
21
  shutdown(): Promise<void>;
21
22
  getDocumentMeta(documentId: string, branch: string, signal?: AbortSignal): Promise<CachedDocumentMeta>;
@@ -1 +1 @@
1
- {"version":3,"file":"document-meta-cache.d.ts","sourceRoot":"","sources":["../../../src/cache/document-meta-cache.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAGxC;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,MAAM,CAA0B;gBAGtC,cAAc,EAAE,eAAe,EAC/B,MAAM,EAAE,uBAAuB;IAU3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAkBxB,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAa9B,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,kBAAkB,GACvB,IAAI;IAcP,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAuBvD,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,OAAO;YAID,aAAa;YAQb,qBAAqB;CA0DpC"}
1
+ {"version":3,"file":"document-meta-cache.d.ts","sourceRoot":"","sources":["../../../src/cache/document-meta-cache.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAGxC;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,MAAM,CAA0B;gBAGtC,cAAc,EAAE,eAAe,EAC/B,MAAM,EAAE,uBAAuB;IAUjC,eAAe,CAAC,cAAc,EAAE,eAAe,GAAG,iBAAiB;IAO7D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAkBxB,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAa9B,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,kBAAkB,GACvB,IAAI;IAcP,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAuBvD,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,OAAO;YAID,aAAa;YAQb,qBAAqB;CA2DpC"}
@@ -1,15 +1,24 @@
1
- import type { Kysely } from "kysely";
2
- import type { OperationWithContext, PagedResults, PagingOptions, ViewFilter } from "../storage/interfaces.js";
1
+ import type { OperationWithContext } from "document-model";
2
+ import type { Kysely, Transaction } from "kysely";
3
+ import type { PagedResults, PagingOptions } from "../shared/types.js";
4
+ import type { ViewFilter } from "../storage/interfaces.js";
3
5
  import type { Database } from "../storage/kysely/types.js";
4
6
  import type { IOperationIndex, IOperationIndexTxn, OperationIndexEntry } from "./operation-index-types.js";
5
7
  export declare class KyselyOperationIndex implements IOperationIndex {
6
8
  private db;
9
+ private trx?;
7
10
  constructor(db: Kysely<Database>);
11
+ private get queryExecutor();
12
+ withTransaction(trx: Transaction<Database>): KyselyOperationIndex;
8
13
  start(): IOperationIndexTxn;
9
14
  commit(txn: IOperationIndexTxn, signal?: AbortSignal): Promise<number[]>;
15
+ private executeCommit;
10
16
  find(collectionId: string, cursor?: number, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationIndexEntry>>;
17
+ get(documentId: string, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationIndexEntry>>;
11
18
  getSinceOrdinal(ordinal: number, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationWithContext>>;
12
19
  private rowToOperationWithContext;
13
20
  private rowToOperationIndexEntry;
21
+ getLatestTimestampForCollection(collectionId: string, signal?: AbortSignal): Promise<string | null>;
22
+ getCollectionsForDocuments(documentIds: string[]): Promise<Record<string, string[]>>;
14
23
  }
15
24
  //# sourceMappingURL=kysely-operation-index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kysely-operation-index.d.ts","sourceRoot":"","sources":["../../../src/cache/kysely-operation-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,UAAU,EACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAGV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EAEpB,MAAM,4BAA4B,CAAC;AAsEpC,qBAAa,oBAAqB,YAAW,eAAe;IAC9C,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;IAExC,KAAK,IAAI,kBAAkB;IAIrB,MAAM,CACV,GAAG,EAAE,kBAAkB,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;IAqGd,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IA2DvC,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IA0C9C,OAAO,CAAC,yBAAyB;IAsBjC,OAAO,CAAC,wBAAwB;CAiBjC"}
1
+ {"version":3,"file":"kysely-operation-index.d.ts","sourceRoot":"","sources":["../../../src/cache/kysely-operation-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAGV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EAEpB,MAAM,4BAA4B,CAAC;AAsEpC,qBAAa,oBAAqB,YAAW,eAAe;IAG9C,OAAO,CAAC,EAAE;IAFtB,OAAO,CAAC,GAAG,CAAC,CAAwB;gBAEhB,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;IAExC,OAAO,KAAK,aAAa,GAExB;IAED,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB;IAMjE,KAAK,IAAI,kBAAkB;IAIrB,MAAM,CACV,GAAG,EAAE,kBAAkB,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;YAkBN,aAAa;IA8FrB,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IA6EvC,GAAG,CACP,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IA0DvC,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAsD9C,OAAO,CAAC,yBAAyB;IAsBjC,OAAO,CAAC,wBAAwB;IAmB1B,+BAA+B,CACnC,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoBnB,0BAA0B,CAC9B,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAqBrC"}
@@ -52,6 +52,7 @@ export declare class KyselyWriteCache implements IWriteCache {
52
52
  private registry;
53
53
  private config;
54
54
  constructor(keyframeStore: IKeyframeStore, operationStore: IOperationStore, registry: IDocumentModelRegistry, config: WriteCacheConfig);
55
+ withScopedStores(operationStore: IOperationStore, keyframeStore: IKeyframeStore): KyselyWriteCache;
55
56
  /**
56
57
  * Initializes the write cache.
57
58
  * Currently a no-op as keyframe store lifecycle is managed externally.
@@ -85,8 +86,13 @@ export declare class KyselyWriteCache implements IWriteCache {
85
86
  /**
86
87
  * Stores a document snapshot in the cache at a specific revision.
87
88
  *
88
- * Stores the document reference as-is. Callers must avoid mutating cached
89
- * snapshots if they need to preserve historical revisions.
89
+ * The cached document is a shallow copy of the input with its operation history
90
+ * truncated to the last operation per scope and its clipboard cleared. This keeps
91
+ * memory use and copy costs constant regardless of operation count. Consumers of
92
+ * getState() must not rely on the full operation history being present; the only
93
+ * guaranteed invariant is that operations[scope].at(-1) reflects the latest
94
+ * operation index for each scope.
95
+ *
90
96
  * Updates LRU tracker and may evict least recently used stream if at capacity.
91
97
  * Asynchronously persists keyframes at configured intervals (fire-and-forget).
92
98
  *
@@ -120,6 +126,8 @@ export declare class KyselyWriteCache implements IWriteCache {
120
126
  /**
121
127
  * Retrieves a specific stream for a document. Exposed on the implementation
122
128
  * for testing, but not on the interface.
129
+ *
130
+ * @internal
123
131
  */
124
132
  getStream(documentId: string, scope: string, branch: string): DocumentStream | undefined;
125
133
  private findNearestKeyframe;
@@ -1 +1 @@
1
- {"version":3,"file":"kysely-write-cache.d.ts","sourceRoot":"","sources":["../../../src/cache/kysely-write-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,UAAU,EAEX,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,KAAK,cAAc,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,gBAAiB,YAAW,WAAW;IAClD,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,MAAM,CAA6B;gBAGzC,aAAa,EAAE,cAAc,EAC7B,cAAc,EAAE,eAAe,EAC/B,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,gBAAgB;IAc1B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B;;;;;;;;;;;;;;;;;;OAkBG;IACG,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC;IAiEtB;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,UAAU,GACnB,IAAI;IAuBP;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IA+BvE;;;OAGG;IACH,KAAK,IAAI,IAAI;IAKb;;;OAGG;IACH,SAAS,CACP,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,cAAc,GAAG,SAAS;YAKf,mBAAmB;YAoBnB,eAAe;YA8Jf,eAAe;IAkE7B,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,kBAAkB;CAG3B"}
1
+ {"version":3,"file":"kysely-write-cache.d.ts","sourceRoot":"","sources":["../../../src/cache/kysely-write-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,UAAU,EAEX,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,KAAK,cAAc,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;CACxC,CAAC;AAQF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,gBAAiB,YAAW,WAAW;IAClD,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,MAAM,CAA6B;gBAGzC,aAAa,EAAE,cAAc,EAC7B,cAAc,EAAE,eAAe,EAC/B,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,gBAAgB;IAc1B,gBAAgB,CACd,cAAc,EAAE,eAAe,EAC/B,aAAa,EAAE,cAAc,GAC5B,gBAAgB;IAYnB;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B;;;;;;;;;;;;;;;;;;OAkBG;IACG,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC;IAiEtB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,UAAU,GACnB,IAAI;IA0CP;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IA+BvE;;;OAGG;IACH,KAAK,IAAI,IAAI;IAKb;;;;;OAKG;IACH,SAAS,CACP,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,cAAc,GAAG,SAAS;YAKf,mBAAmB;YAoBnB,eAAe;YA2Kf,eAAe;IAmE7B,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,kBAAkB;CAG3B"}
@@ -1,12 +1,14 @@
1
- import type { Operation } from "document-model";
1
+ import type { Operation, OperationWithContext } from "document-model";
2
2
  import type { Generated, Insertable, Selectable, Updateable } from "kysely";
3
- import type { OperationWithContext, PagedResults, PagingOptions, ViewFilter } from "../storage/interfaces.js";
3
+ import type { PagedResults, PagingOptions } from "../shared/types.js";
4
+ import type { ViewFilter } from "../storage/interfaces.js";
4
5
  export type OperationIndexEntry = Operation & {
5
6
  ordinal?: number;
6
7
  documentId: string;
7
8
  documentType: string;
8
9
  branch: string;
9
10
  scope: string;
11
+ sourceRemote: string;
10
12
  };
11
13
  export interface IOperationIndexTxn {
12
14
  createCollection(collectionId: string): void;
@@ -18,7 +20,18 @@ export interface IOperationIndex {
18
20
  start(): IOperationIndexTxn;
19
21
  commit(txn: IOperationIndexTxn, signal?: AbortSignal): Promise<number[]>;
20
22
  find(collectionId: string, cursor?: number, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationIndexEntry>>;
23
+ /**
24
+ * Get all operations for a specific document, ordered by ordinal.
25
+ * Used for retroactive sync when a document is added to a collection.
26
+ */
27
+ get(documentId: string, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationIndexEntry>>;
21
28
  getSinceOrdinal(ordinal: number, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<OperationWithContext>>;
29
+ getLatestTimestampForCollection(collectionId: string, signal?: AbortSignal): Promise<string | null>;
30
+ /**
31
+ * Get all collection memberships for the given document IDs.
32
+ * Returns a map of documentId to array of collection IDs.
33
+ */
34
+ getCollectionsForDocuments(documentIds: string[]): Promise<Record<string, string[]>>;
22
35
  }
23
36
  export interface DocumentCollectionTable {
24
37
  documentId: string;
@@ -39,6 +52,7 @@ export interface OperationIndexOperationTable {
39
52
  skip: number;
40
53
  hash: string;
41
54
  action: unknown;
55
+ sourceRemote: Generated<string>;
42
56
  }
43
57
  export type DocumentCollectionRow = Selectable<DocumentCollectionTable>;
44
58
  export type InsertableDocumentCollection = Insertable<DocumentCollectionTable>;
@@ -1 +1 @@
1
- {"version":3,"file":"operation-index-types.d.ts","sourceRoot":"","sources":["../../../src/cache/operation-index-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation-index-types.d.ts","sourceRoot":"","sources":["../../../src/cache/operation-index-types.ts"],"names":[],"mappings":"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"}
@@ -28,13 +28,18 @@ export interface IWriteCache {
28
28
  getState(documentId: string, scope: string, branch: string, targetRevision?: number, signal?: AbortSignal): Promise<PHDocument>;
29
29
  /**
30
30
  * Stores a document snapshot in the cache at the specified revision.
31
- * The document will be deep copied to prevent external mutations.
31
+ * Implementations may truncate the stored document (e.g. strip operation
32
+ * history beyond the last entry per scope, clear clipboard) to bound memory
33
+ * and copy cost. Callers must not assume that the document returned by a
34
+ * subsequent getState() call will have a complete operations array; the only
35
+ * guaranteed invariant is that operations[scope].at(-1) holds the latest
36
+ * operation index for each scope present in the cached document.
32
37
  *
33
38
  * @param documentId - The document identifier
34
39
  * @param scope - Operation scope
35
40
  * @param branch - Branch name
36
41
  * @param revision - The revision this document represents
37
- * @param document - The complete document to cache
42
+ * @param document - The document to cache
38
43
  *
39
44
  * @example
40
45
  * ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/cache/write/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,UAAU,GACnB,IAAI,CAAC;IAER;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExE;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/cache/write/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,UAAU,GACnB,IAAI,CAAC;IAER;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExE;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B"}
@@ -1,11 +1,11 @@
1
- import type { Action, DocumentModelModule, ISigner, PHDocument } from "document-model";
2
- import type { ILogger } from "#logging/types.js";
3
- import type { IReactor } from "../core/types.js";
1
+ import type { Action, DocumentModelModule, ISigner, Operation, PHDocument } from "document-model";
2
+ import type { BatchLoadRequest, BatchLoadResult, IReactor } from "../core/types.js";
3
+ import type { ILogger } from "../logging/types.js";
4
4
  import { type IJobAwaiter } from "../shared/awaiter.js";
5
5
  import { PropagationMode, type JobInfo, type PagedResults, type PagingOptions, type SearchFilter, type ViewFilter } from "../shared/types.js";
6
- import type { IDocumentIndexer } from "../storage/interfaces.js";
6
+ import type { IDocumentIndexer, IDocumentView, OperationFilter } from "../storage/interfaces.js";
7
7
  import type { IReactorSubscriptionManager } from "../subs/types.js";
8
- import { type DocumentChangeEvent, type IReactorClient } from "./types.js";
8
+ import { type CreateDocumentOptions, type DocumentChangeEvent, type IReactorClient } from "./types.js";
9
9
  /**
10
10
  * ReactorClient implementation that wraps lower-level APIs to provide
11
11
  * a simpler interface for document operations.
@@ -23,7 +23,8 @@ export declare class ReactorClient implements IReactorClient {
23
23
  private subscriptionManager;
24
24
  private jobAwaiter;
25
25
  private documentIndexer;
26
- constructor(logger: ILogger, reactor: IReactor, signer: ISigner, subscriptionManager: IReactorSubscriptionManager, jobAwaiter: IJobAwaiter, documentIndexer: IDocumentIndexer);
26
+ private documentView;
27
+ constructor(logger: ILogger, reactor: IReactor, signer: ISigner, subscriptionManager: IReactorSubscriptionManager, jobAwaiter: IJobAwaiter, documentIndexer: IDocumentIndexer, documentView: IDocumentView);
27
28
  /**
28
29
  * Retrieves a list of document model modules.
29
30
  */
@@ -38,10 +39,11 @@ export declare class ReactorClient implements IReactorClient {
38
39
  /**
39
40
  * Retrieves a specific PHDocument
40
41
  */
41
- get<TDocument extends PHDocument>(identifier: string, view?: ViewFilter, signal?: AbortSignal): Promise<{
42
- document: TDocument;
43
- childIds: string[];
44
- }>;
42
+ get<TDocument extends PHDocument>(identifier: string, view?: ViewFilter, signal?: AbortSignal): Promise<TDocument>;
43
+ /**
44
+ * Retrieves operations for a document
45
+ */
46
+ getOperations(documentIdentifier: string, view?: ViewFilter, filter?: OperationFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<Operation>>;
45
47
  /**
46
48
  * Retrieves children of a document
47
49
  */
@@ -57,11 +59,11 @@ export declare class ReactorClient implements IReactorClient {
57
59
  /**
58
60
  * Creates a document and waits for completion
59
61
  */
60
- create(document: PHDocument, parentIdentifier?: string, signal?: AbortSignal): Promise<PHDocument>;
62
+ create<TDocument extends PHDocument = PHDocument>(document: PHDocument, parentIdentifier?: string, signal?: AbortSignal): Promise<TDocument>;
61
63
  /**
62
64
  * Creates an empty document and waits for completion
63
65
  */
64
- createEmpty<TDocument extends PHDocument>(documentType: string, parentIdentifier?: string, signal?: AbortSignal): Promise<TDocument>;
66
+ createEmpty<TDocument extends PHDocument>(documentModelType: string, options?: CreateDocumentOptions, signal?: AbortSignal): Promise<TDocument>;
65
67
  /**
66
68
  * Creates an empty document in a drive as a single batched operation.
67
69
  */
@@ -93,6 +95,7 @@ export declare class ReactorClient implements IReactorClient {
93
95
  source: PHDocument;
94
96
  target: PHDocument;
95
97
  }>;
98
+ loadBatch(request: BatchLoadRequest, signal?: AbortSignal): Promise<BatchLoadResult>;
96
99
  /**
97
100
  * Deletes a document and waits for completion
98
101
  */
@@ -1 +1 @@
1
- {"version":3,"file":"reactor-client.d.ts","sourceRoot":"","sources":["../../../src/client/reactor-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactor-client.d.ts","sourceRoot":"","sources":["../../../src/client/reactor-client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- import type { Action, DocumentModelModule, PHDocument } from "document-model";
1
+ import type { Action, DocumentModelModule, Operation, PHDocument } from "document-model";
2
+ import type { BatchLoadRequest, BatchLoadResult } from "../core/types.js";
2
3
  import type { JobInfo, PagedResults, PagingOptions, PropagationMode, SearchFilter, ViewFilter } from "../shared/types.js";
4
+ import type { OperationFilter } from "../storage/interfaces.js";
3
5
  /**
4
6
  * Describes the types of document changes that can occur.
5
7
  */
@@ -23,6 +25,15 @@ export type DocumentChangeEvent = {
23
25
  childId?: string;
24
26
  };
25
27
  };
28
+ /**
29
+ * Options for creating an empty document.
30
+ */
31
+ export type CreateDocumentOptions = {
32
+ /** Optional "id" or "slug" of parent document */
33
+ parentIdentifier?: string;
34
+ /** Optional version of the document model to use (defaults to latest) */
35
+ documentModelVersion?: number;
36
+ };
26
37
  /**
27
38
  * The ReactorClient interface that wraps lower-level APIs to provide
28
39
  * a simpler interface for document operations.
@@ -58,10 +69,18 @@ export interface IReactorClient {
58
69
  * @param signal - Optional abort signal to cancel the request
59
70
  * @returns The up-to-date PHDocument with scopes and list of child document ids
60
71
  */
61
- get<TDocument extends PHDocument>(identifier: string, view?: ViewFilter, signal?: AbortSignal): Promise<{
62
- document: TDocument;
63
- childIds: string[];
64
- }>;
72
+ get<TDocument extends PHDocument>(identifier: string, view?: ViewFilter, signal?: AbortSignal): Promise<TDocument>;
73
+ /**
74
+ * Retrieves operations for a document.
75
+ *
76
+ * @param documentIdentifier - Required, this is either a document "id" field or a "slug"
77
+ * @param view - Optional filter containing branch and scopes information
78
+ * @param filter - Optional filter for actionTypes, timestamps, and revision
79
+ * @param paging - Optional pagination options
80
+ * @param signal - Optional abort signal to cancel the request
81
+ * @returns Paginated list of operations
82
+ */
83
+ getOperations(documentIdentifier: string, view?: ViewFilter, filter?: OperationFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<Operation>>;
65
84
  /**
66
85
  * Retrieves children of a document.
67
86
  *
@@ -100,15 +119,15 @@ export interface IReactorClient {
100
119
  * @param signal - Optional abort signal to cancel the request
101
120
  * @returns The created document
102
121
  */
103
- create(document: PHDocument, parentIdentifier?: string, signal?: AbortSignal): Promise<PHDocument>;
122
+ create<TDocument extends PHDocument = PHDocument>(document: PHDocument, parentIdentifier?: string, signal?: AbortSignal): Promise<TDocument>;
104
123
  /**
105
124
  * Creates an empty document and waits for completion
106
125
  *
107
- * @param documentType - Type of document to create.
108
- * @param parentIdentifier - Optional "id" or "slug" of parent document
126
+ * @param documentModelType - Type of document to create
127
+ * @param options - Optional creation options (parentIdentifier, documentModelVersion)
109
128
  * @param signal - Optional abort signal to cancel the request
110
129
  */
111
- createEmpty<TDocument extends PHDocument>(documentType: string, parentIdentifier?: string, signal?: AbortSignal): Promise<TDocument>;
130
+ createEmpty<TDocument extends PHDocument>(documentModelType: string, options?: CreateDocumentOptions, signal?: AbortSignal): Promise<TDocument>;
112
131
  /**
113
132
  * Creates an empty document in a drive as a single batched operation.
114
133
  * This is more efficient than createEmpty + addFile as it batches all
@@ -203,6 +222,15 @@ export interface IReactorClient {
203
222
  * @returns a promise, resolving on deletion confirmation
204
223
  */
205
224
  deleteDocuments(identifiers: string[], propagate?: PropagationMode, signal?: AbortSignal): Promise<void>;
225
+ /**
226
+ * Loads multiple batches of pre-existing operations across documents with dependency management.
227
+ * Waits for all jobs to complete.
228
+ *
229
+ * @param request - Batch load request containing jobs with dependencies
230
+ * @param signal - Optional abort signal to cancel the request
231
+ * @returns Map of job keys to completed job information
232
+ */
233
+ loadBatch(request: BatchLoadRequest, signal?: AbortSignal): Promise<BatchLoadResult>;
206
234
  /**
207
235
  * Retrieves the status of a job
208
236
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE9E,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,aAAa,EACb,eAAe,EACf,YAAY,EACZ,UAAU,EACX,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,WAAW,iBAAiB;IAC5B,aAAa,mBAAmB;IAChC,UAAU,gBAAgB;IAC1B,YAAY,kBAAkB;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,uBAAuB,CACrB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE9C;;;;;OAKG;IACH,sBAAsB,CACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAErC;;;;;;;OAOG;IACH,GAAG,CAAC,SAAS,SAAS,UAAU,EAC9B,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QACT,QAAQ,EAAE,SAAS,CAAC;QACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC,CAAC;IAEH;;;;;;;;OAQG;IACH,WAAW,CACT,gBAAgB,EAAE,MAAM,EACxB,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IAErC;;;;;;;;OAQG;IACH,UAAU,CACR,eAAe,EAAE,MAAM,EACvB,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IAErC;;;;;;;;OAQG;IACH,IAAI,CACF,MAAM,EAAE,YAAY,EACpB,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IAErC;;;;;;;OAOG;IACH,MAAM,CACJ,QAAQ,EAAE,UAAU,EACpB,gBAAgB,CAAC,EAAE,MAAM,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;OAMG;IACH,WAAW,CAAC,SAAS,SAAS,UAAU,EACtC,YAAY,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,MAAM,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC,CAAC;IAEtB;;;;;;;;;;OAUG;IACH,qBAAqB,CAAC,SAAS,SAAS,UAAU,EAChD,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,UAAU,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC,CAAC;IAEtB;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS,SAAS,UAAU,EAClC,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC,CAAC;IAEtB;;;;;;;;OAQG;IACH,YAAY,CACV,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;;;OAQG;IACH,MAAM,CACJ,kBAAkB,EAAE,MAAM,EAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;;OAQG;IACH,WAAW,CACT,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;;OAQG;IACH,cAAc,CACZ,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;;;OASG;IACH,YAAY,CACV,sBAAsB,EAAE,MAAM,EAC9B,sBAAsB,EAAE,MAAM,EAC9B,mBAAmB,EAAE,MAAM,EAAE,EAC7B,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QACT,MAAM,EAAE,UAAU,CAAC;QACnB,MAAM,EAAE,UAAU,CAAC;KACpB,CAAC,CAAC;IAEH;;;;;;;OAOG;IACH,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;OAOG;IACH,eAAe,CACb,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,CAAC,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpE;;;;;;OAMG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5E;;;;;;;OAOG;IACH,SAAS,CACP,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,EAC9C,IAAI,CAAC,EAAE,UAAU,GAChB,MAAM,IAAI,CAAC;CACf"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/types.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,23 @@
1
- import type { IDocumentOperationStorage, IDocumentStorage } from "document-drive";
2
1
  import type { DocumentModelModule, UpgradeManifest } from "document-model";
3
- import type { WriteCacheConfig } from "../cache/write-cache-types.js";
4
- import type { IReadModel, IReadModelCoordinator } from "../read-models/interfaces.js";
5
- import type { SyncBuilder } from "../sync/sync-builder.js";
6
- import type { Database, ExecutorConfig, IReactor, ReactorFeatures, ReactorModule } from "./types.js";
7
- import type { IJobExecutorManager } from "#executor/interfaces.js";
8
- import type { ILogger } from "#logging/types.js";
9
2
  import { Kysely } from "kysely";
3
+ import type { WriteCacheConfig } from "../cache/write-cache-types.js";
10
4
  import type { IEventBus } from "../events/interfaces.js";
5
+ import type { IJobExecutorManager } from "../executor/interfaces.js";
6
+ import type { JobExecutorConfig } from "../executor/types.js";
7
+ import type { ILogger } from "../logging/types.js";
8
+ import type { IQueue } from "../queue/interfaces.js";
9
+ import type { IReadModel, IReadModelCoordinator } from "../read-models/interfaces.js";
10
+ import type { IDocumentModelLoader } from "../registry/interfaces.js";
11
11
  import type { SignatureVerificationHandler } from "../signer/types.js";
12
12
  import type { MigrationStrategy } from "../storage/migrations/types.js";
13
+ import { SyncBuilder } from "../sync/sync-builder.js";
14
+ import type { JwtHandler } from "../sync/types.js";
15
+ import { ChannelScheme } from "../sync/types.js";
16
+ import type { Database, IReactor, ReactorFeatures, ReactorModule } from "./types.js";
13
17
  export declare class ReactorBuilder {
14
18
  private logger?;
15
19
  private documentModels;
16
20
  private upgradeManifests;
17
- private storage?;
18
21
  private features;
19
22
  private readModels;
20
23
  private executorManager;
@@ -26,22 +29,32 @@ export declare class ReactorBuilder {
26
29
  private readModelCoordinator?;
27
30
  private signatureVerifier?;
28
31
  private kyselyInstance?;
32
+ private signalHandlersEnabled;
33
+ private queueInstance?;
34
+ private channelScheme?;
35
+ private jwtHandler?;
36
+ private documentModelLoader?;
29
37
  withLogger(logger: ILogger): this;
30
38
  withDocumentModels(models: DocumentModelModule<any>[]): this;
31
39
  withUpgradeManifests(manifests: UpgradeManifest<readonly number[]>[]): this;
32
- withLegacyStorage(storage: IDocumentStorage & IDocumentOperationStorage): this;
33
40
  withFeatures(features: ReactorFeatures): this;
34
41
  withReadModel(readModel: IReadModel): this;
35
42
  withReadModelCoordinator(readModelCoordinator: IReadModelCoordinator): this;
36
43
  withExecutor(executor: IJobExecutorManager): this;
37
- withExecutorConfig(config: Partial<ExecutorConfig>): this;
44
+ withExecutorConfig(config: Partial<JobExecutorConfig>): this;
38
45
  withWriteCacheConfig(config: Partial<WriteCacheConfig>): this;
39
46
  withMigrationStrategy(strategy: MigrationStrategy): this;
40
47
  withSync(syncBuilder: SyncBuilder): this;
41
48
  withEventBus(eventBus: IEventBus): this;
42
49
  withSignatureVerifier(verifier: SignatureVerificationHandler): this;
43
50
  withKysely(kysely: Kysely<Database>): this;
51
+ withQueue(queue: IQueue): this;
52
+ withChannelScheme(scheme: ChannelScheme): this;
53
+ withJwtHandler(handler: JwtHandler): this;
54
+ withDocumentModelLoader(loader: IDocumentModelLoader): this;
55
+ withSignalHandlers(): this;
44
56
  build(): Promise<IReactor>;
45
57
  buildModule(): Promise<ReactorModule>;
58
+ private attachSignalHandlers;
46
59
  }
47
60
  //# sourceMappingURL=reactor-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reactor-builder.d.ts","sourceRoot":"","sources":["../../../src/core/reactor-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAI3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAQtE,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AAOtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,eAAe,EACf,aAAa,EAEd,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAMvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAKxE,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,OAAO,CAAC,CAA+C;IAC/D,OAAO,CAAC,QAAQ,CAAmD;IACnE,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,gBAAgB,CAAC,CAA4B;IACrD,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAY;IAC7B,OAAO,CAAC,oBAAoB,CAAC,CAAwB;IACrD,OAAO,CAAC,iBAAiB,CAAC,CAA+B;IACzD,OAAO,CAAC,cAAc,CAAC,CAAmB;IAE1C,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAKjC,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;IAK5D,oBAAoB,CAAC,SAAS,EAAE,eAAe,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI;IAK3E,iBAAiB,CACf,OAAO,EAAE,gBAAgB,GAAG,yBAAyB,GACpD,IAAI;IAKP,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAK7C,aAAa,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAK1C,wBAAwB,CAAC,oBAAoB,EAAE,qBAAqB,GAAG,IAAI;IAK3E,YAAY,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAKjD,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAKzD,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAK7D,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAKxD,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAKxC,YAAY,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAKvC,qBAAqB,CAAC,QAAQ,EAAE,4BAA4B,GAAG,IAAI;IAKnE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI;IAKpC,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;IAK1B,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;CA4N5C"}
1
+ {"version":3,"file":"reactor-builder.d.ts","sourceRoot":"","sources":["../../../src/core/reactor-builder.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import type { IEventBus } from "#events/interfaces.js";
2
- import type { ILogger } from "#logging/types.js";
3
1
  import type { ISigner } from "document-model";
4
2
  import { ReactorClient } from "../client/reactor-client.js";
3
+ import type { IEventBus } from "../events/interfaces.js";
4
+ import type { ILogger } from "../logging/types.js";
5
5
  import { type IJobAwaiter } from "../shared/awaiter.js";
6
6
  import type { SignerConfig } from "../signer/types.js";
7
- import type { IDocumentIndexer } from "../storage/interfaces.js";
7
+ import type { IDocumentModelLoader } from "../registry/interfaces.js";
8
+ import type { IDocumentIndexer, IDocumentView } from "../storage/interfaces.js";
8
9
  import type { IReactorSubscriptionManager } from "../subs/types.js";
9
10
  import type { ReactorBuilder } from "./reactor-builder.js";
10
11
  import type { IReactor, ReactorClientModule } from "./types.js";
@@ -17,10 +18,12 @@ export declare class ReactorClientBuilder {
17
18
  private reactor?;
18
19
  private eventBus?;
19
20
  private documentIndexer?;
21
+ private documentView?;
20
22
  private signer?;
21
23
  private signatureVerifier?;
22
24
  private subscriptionManager?;
23
25
  private jobAwaiter?;
26
+ private documentModelLoader?;
24
27
  /**
25
28
  * Sets the logger for the ReactorClient.
26
29
  * @param logger - The logger to use.
@@ -34,7 +37,7 @@ export declare class ReactorClientBuilder {
34
37
  /**
35
38
  * Either this or withReactorBuilder must be set.
36
39
  */
37
- withReactor(reactor: IReactor, eventBus: IEventBus, documentIndexer: IDocumentIndexer): this;
40
+ withReactor(reactor: IReactor, eventBus: IEventBus, documentIndexer: IDocumentIndexer, documentView: IDocumentView): this;
38
41
  /**
39
42
  * Sets the signer configuration for signing and verifying actions.
40
43
  *
@@ -43,6 +46,7 @@ export declare class ReactorClientBuilder {
43
46
  withSigner(config: ISigner | SignerConfig): this;
44
47
  withSubscriptionManager(subscriptionManager: IReactorSubscriptionManager): this;
45
48
  withJobAwaiter(jobAwaiter: IJobAwaiter): this;
49
+ withDocumentModelLoader(loader: IDocumentModelLoader): this;
46
50
  build(): Promise<ReactorClient>;
47
51
  buildModule(): Promise<ReactorClientModule>;
48
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reactor-client-builder.d.ts","sourceRoot":"","sources":["../../../src/core/reactor-client-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AAE/E;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,OAAO,CAAC,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAAC,CAAY;IAC7B,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,iBAAiB,CAAC,CAA+B;IACzD,OAAO,CAAC,mBAAmB,CAAC,CAA8B;IAC1D,OAAO,CAAC,UAAU,CAAC,CAAc;IAEjC;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAKxC;;OAEG;IACI,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAS/D;;OAEG;IACI,WAAW,CAChB,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,SAAS,EACnB,eAAe,EAAE,gBAAgB,GAChC,IAAI;IAWP;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI;IAUhD,uBAAuB,CAC5B,mBAAmB,EAAE,2BAA2B,GAC/C,IAAI;IAKA,cAAc,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAKvC,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC;IAK/B,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;CA8DzD"}
1
+ {"version":3,"file":"reactor-client-builder.d.ts","sourceRoot":"","sources":["../../../src/core/reactor-client-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGhF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AAE/E;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,OAAO,CAAC,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAAC,CAAY;IAC7B,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,iBAAiB,CAAC,CAA+B;IACzD,OAAO,CAAC,mBAAmB,CAAC,CAA8B;IAC1D,OAAO,CAAC,UAAU,CAAC,CAAc;IACjC,OAAO,CAAC,mBAAmB,CAAC,CAAuB;IAEnD;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAKxC;;OAEG;IACI,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAS/D;;OAEG;IACI,WAAW,CAChB,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,SAAS,EACnB,eAAe,EAAE,gBAAgB,EACjC,YAAY,EAAE,aAAa,GAC1B,IAAI;IAYP;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI;IAUhD,uBAAuB,CAC5B,mBAAmB,EAAE,2BAA2B,GAC/C,IAAI;IAKA,cAAc,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAK7C,uBAAuB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAKrD,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC;IAK/B,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;CA2EzD"}