@powerhousedao/reactor 6.0.0-dev.6 → 6.0.0-dev.60

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 (324) 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/collection-membership-cache.js +33 -0
  4. package/dist/src/cache/collection-membership-cache.js.map +1 -0
  5. package/dist/src/cache/document-meta-cache.d.ts.map +1 -1
  6. package/dist/src/cache/document-meta-cache.js +6 -5
  7. package/dist/src/cache/document-meta-cache.js.map +1 -1
  8. package/dist/src/cache/kysely-operation-index.d.ts +6 -1
  9. package/dist/src/cache/kysely-operation-index.d.ts.map +1 -1
  10. package/dist/src/cache/kysely-operation-index.js +102 -7
  11. package/dist/src/cache/kysely-operation-index.js.map +1 -1
  12. package/dist/src/cache/kysely-write-cache.d.ts +9 -2
  13. package/dist/src/cache/kysely-write-cache.d.ts.map +1 -1
  14. package/dist/src/cache/kysely-write-cache.js +38 -15
  15. package/dist/src/cache/kysely-write-cache.js.map +1 -1
  16. package/dist/src/cache/operation-index-types.d.ts +16 -2
  17. package/dist/src/cache/operation-index-types.d.ts.map +1 -1
  18. package/dist/src/cache/operation-index-types.js.map +1 -1
  19. package/dist/src/cache/write/interfaces.d.ts +7 -2
  20. package/dist/src/cache/write/interfaces.d.ts.map +1 -1
  21. package/dist/src/client/reactor-client.d.ts +13 -10
  22. package/dist/src/client/reactor-client.d.ts.map +1 -1
  23. package/dist/src/client/reactor-client.js +134 -43
  24. package/dist/src/client/reactor-client.js.map +1 -1
  25. package/dist/src/client/types.d.ts +25 -6
  26. package/dist/src/client/types.d.ts.map +1 -1
  27. package/dist/src/client/types.js.map +1 -1
  28. package/dist/src/core/reactor-builder.d.ts +23 -7
  29. package/dist/src/core/reactor-builder.d.ts.map +1 -1
  30. package/dist/src/core/reactor-builder.js +99 -24
  31. package/dist/src/core/reactor-builder.js.map +1 -1
  32. package/dist/src/core/reactor-client-builder.d.ts +5 -4
  33. package/dist/src/core/reactor-client-builder.d.ts.map +1 -1
  34. package/dist/src/core/reactor-client-builder.js +14 -5
  35. package/dist/src/core/reactor-client-builder.js.map +1 -1
  36. package/dist/src/core/reactor.d.ts +20 -80
  37. package/dist/src/core/reactor.d.ts.map +1 -1
  38. package/dist/src/core/reactor.js +235 -576
  39. package/dist/src/core/reactor.js.map +1 -1
  40. package/dist/src/core/types.d.ts +64 -28
  41. package/dist/src/core/types.d.ts.map +1 -1
  42. package/dist/src/core/utils.d.ts +39 -3
  43. package/dist/src/core/utils.d.ts.map +1 -1
  44. package/dist/src/core/utils.js +63 -9
  45. package/dist/src/core/utils.js.map +1 -1
  46. package/dist/src/events/types.d.ts +35 -10
  47. package/dist/src/events/types.d.ts.map +1 -1
  48. package/dist/src/events/types.js +7 -5
  49. package/dist/src/events/types.js.map +1 -1
  50. package/dist/src/executor/document-action-handler.d.ts +37 -0
  51. package/dist/src/executor/document-action-handler.d.ts.map +1 -0
  52. package/dist/src/executor/document-action-handler.js +356 -0
  53. package/dist/src/executor/document-action-handler.js.map +1 -0
  54. package/dist/src/executor/signature-verifier.d.ts +9 -0
  55. package/dist/src/executor/signature-verifier.d.ts.map +1 -0
  56. package/dist/src/executor/signature-verifier.js +70 -0
  57. package/dist/src/executor/signature-verifier.js.map +1 -0
  58. package/dist/src/executor/simple-job-executor-manager.d.ts +6 -1
  59. package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -1
  60. package/dist/src/executor/simple-job-executor-manager.js +125 -13
  61. package/dist/src/executor/simple-job-executor-manager.js.map +1 -1
  62. package/dist/src/executor/simple-job-executor.d.ts +6 -46
  63. package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
  64. package/dist/src/executor/simple-job-executor.js +113 -588
  65. package/dist/src/executor/simple-job-executor.js.map +1 -1
  66. package/dist/src/executor/types.d.ts +1 -3
  67. package/dist/src/executor/types.d.ts.map +1 -1
  68. package/dist/src/executor/types.js.map +1 -1
  69. package/dist/src/executor/util.d.ts +12 -2
  70. package/dist/src/executor/util.d.ts.map +1 -1
  71. package/dist/src/executor/util.js +47 -1
  72. package/dist/src/executor/util.js.map +1 -1
  73. package/dist/src/index.d.ts +11 -9
  74. package/dist/src/index.d.ts.map +1 -1
  75. package/dist/src/index.js +7 -6
  76. package/dist/src/index.js.map +1 -1
  77. package/dist/src/job-tracker/in-memory-job-tracker.d.ts +4 -3
  78. package/dist/src/job-tracker/in-memory-job-tracker.d.ts.map +1 -1
  79. package/dist/src/job-tracker/in-memory-job-tracker.js +20 -18
  80. package/dist/src/job-tracker/in-memory-job-tracker.js.map +1 -1
  81. package/dist/src/job-tracker/interfaces.d.ts +3 -1
  82. package/dist/src/job-tracker/interfaces.d.ts.map +1 -1
  83. package/dist/src/logging/console.d.ts +1 -22
  84. package/dist/src/logging/console.d.ts.map +1 -1
  85. package/dist/src/logging/console.js +1 -107
  86. package/dist/src/logging/console.js.map +1 -1
  87. package/dist/src/logging/types.d.ts +1 -11
  88. package/dist/src/logging/types.d.ts.map +1 -1
  89. package/dist/src/processors/index.d.ts +1 -1
  90. package/dist/src/processors/index.d.ts.map +1 -1
  91. package/dist/src/processors/index.js.map +1 -1
  92. package/dist/src/processors/processor-manager.d.ts +2 -2
  93. package/dist/src/processors/processor-manager.d.ts.map +1 -1
  94. package/dist/src/processors/processor-manager.js.map +1 -1
  95. package/dist/src/processors/relational/types.d.ts +2 -0
  96. package/dist/src/processors/relational/types.d.ts.map +1 -0
  97. package/dist/src/processors/relational/types.js +2 -0
  98. package/dist/src/processors/relational/types.js.map +1 -0
  99. package/dist/src/processors/relational/utils.d.ts +2 -0
  100. package/dist/src/processors/relational/utils.d.ts.map +1 -0
  101. package/dist/src/processors/relational/utils.js +2 -0
  102. package/dist/src/processors/relational/utils.js.map +1 -0
  103. package/dist/src/processors/utils.d.ts +2 -2
  104. package/dist/src/processors/utils.d.ts.map +1 -1
  105. package/dist/src/processors/utils.js +2 -1
  106. package/dist/src/processors/utils.js.map +1 -1
  107. package/dist/src/queue/job-execution-handle.d.ts +3 -0
  108. package/dist/src/queue/job-execution-handle.d.ts.map +1 -1
  109. package/dist/src/queue/job-execution-handle.js +9 -0
  110. package/dist/src/queue/job-execution-handle.js.map +1 -1
  111. package/dist/src/queue/queue.d.ts +30 -1
  112. package/dist/src/queue/queue.d.ts.map +1 -1
  113. package/dist/src/queue/queue.js +110 -1
  114. package/dist/src/queue/queue.js.map +1 -1
  115. package/dist/src/queue/types.d.ts +4 -3
  116. package/dist/src/queue/types.d.ts.map +1 -1
  117. package/dist/src/queue/types.js.map +1 -1
  118. package/dist/src/read-models/base-read-model.d.ts +1 -1
  119. package/dist/src/read-models/base-read-model.d.ts.map +1 -1
  120. package/dist/src/read-models/base-read-model.js +4 -4
  121. package/dist/src/read-models/base-read-model.js.map +1 -1
  122. package/dist/src/read-models/coordinator.d.ts +2 -2
  123. package/dist/src/read-models/coordinator.d.ts.map +1 -1
  124. package/dist/src/read-models/coordinator.js +8 -8
  125. package/dist/src/read-models/coordinator.js.map +1 -1
  126. package/dist/src/read-models/document-view.d.ts +6 -3
  127. package/dist/src/read-models/document-view.d.ts.map +1 -1
  128. package/dist/src/read-models/document-view.js +130 -48
  129. package/dist/src/read-models/document-view.js.map +1 -1
  130. package/dist/src/read-models/interfaces.d.ts +1 -1
  131. package/dist/src/read-models/interfaces.d.ts.map +1 -1
  132. package/dist/src/registry/document-model-resolver.d.ts +29 -0
  133. package/dist/src/registry/document-model-resolver.d.ts.map +1 -0
  134. package/dist/src/registry/document-model-resolver.js +81 -0
  135. package/dist/src/registry/document-model-resolver.js.map +1 -0
  136. package/dist/src/registry/implementation.d.ts +4 -0
  137. package/dist/src/registry/implementation.d.ts.map +1 -1
  138. package/dist/src/registry/implementation.js +10 -0
  139. package/dist/src/registry/implementation.js.map +1 -1
  140. package/dist/src/registry/index.d.ts +3 -1
  141. package/dist/src/registry/index.d.ts.map +1 -1
  142. package/dist/src/registry/index.js +1 -0
  143. package/dist/src/registry/index.js.map +1 -1
  144. package/dist/src/registry/interfaces.d.ts +8 -0
  145. package/dist/src/registry/interfaces.d.ts.map +1 -1
  146. package/dist/src/shared/awaiter.d.ts +2 -2
  147. package/dist/src/shared/awaiter.d.ts.map +1 -1
  148. package/dist/src/shared/awaiter.js +11 -11
  149. package/dist/src/shared/awaiter.js.map +1 -1
  150. package/dist/src/shared/collect-all-pages.d.ts +7 -0
  151. package/dist/src/shared/collect-all-pages.d.ts.map +1 -0
  152. package/dist/src/shared/collect-all-pages.js +17 -0
  153. package/dist/src/shared/collect-all-pages.js.map +1 -0
  154. package/dist/src/shared/drive-url.d.ts +15 -0
  155. package/dist/src/shared/drive-url.d.ts.map +1 -0
  156. package/dist/src/shared/drive-url.js +17 -0
  157. package/dist/src/shared/drive-url.js.map +1 -0
  158. package/dist/src/shared/errors.d.ts +9 -0
  159. package/dist/src/shared/errors.d.ts.map +1 -1
  160. package/dist/src/shared/errors.js +18 -0
  161. package/dist/src/shared/errors.js.map +1 -1
  162. package/dist/src/shared/factories.d.ts +6 -2
  163. package/dist/src/shared/factories.d.ts.map +1 -1
  164. package/dist/src/shared/factories.js +10 -2
  165. package/dist/src/shared/factories.js.map +1 -1
  166. package/dist/src/shared/types.d.ts +32 -6
  167. package/dist/src/shared/types.d.ts.map +1 -1
  168. package/dist/src/shared/types.js +4 -4
  169. package/dist/src/shared/types.js.map +1 -1
  170. package/dist/src/signer/passthrough-signer.d.ts +1 -1
  171. package/dist/src/signer/passthrough-signer.d.ts.map +1 -1
  172. package/dist/src/signer/passthrough-signer.js +1 -3
  173. package/dist/src/signer/passthrough-signer.js.map +1 -1
  174. package/dist/src/storage/interfaces.d.ts +238 -124
  175. package/dist/src/storage/interfaces.d.ts.map +1 -1
  176. package/dist/src/storage/interfaces.js +10 -0
  177. package/dist/src/storage/interfaces.js.map +1 -1
  178. package/dist/src/storage/kysely/document-indexer.d.ts +8 -7
  179. package/dist/src/storage/kysely/document-indexer.d.ts.map +1 -1
  180. package/dist/src/storage/kysely/document-indexer.js +123 -52
  181. package/dist/src/storage/kysely/document-indexer.js.map +1 -1
  182. package/dist/src/storage/kysely/store.d.ts +5 -4
  183. package/dist/src/storage/kysely/store.d.ts.map +1 -1
  184. package/dist/src/storage/kysely/store.js +52 -21
  185. package/dist/src/storage/kysely/store.js.map +1 -1
  186. package/dist/src/storage/kysely/sync-cursor-storage.d.ts +1 -1
  187. package/dist/src/storage/kysely/sync-cursor-storage.d.ts.map +1 -1
  188. package/dist/src/storage/kysely/sync-cursor-storage.js +6 -2
  189. package/dist/src/storage/kysely/sync-cursor-storage.js.map +1 -1
  190. package/dist/src/storage/kysely/sync-dead-letter-storage.d.ts +17 -0
  191. package/dist/src/storage/kysely/sync-dead-letter-storage.d.ts.map +1 -0
  192. package/dist/src/storage/kysely/sync-dead-letter-storage.js +110 -0
  193. package/dist/src/storage/kysely/sync-dead-letter-storage.js.map +1 -0
  194. package/dist/src/storage/kysely/sync-remote-storage.js +1 -1
  195. package/dist/src/storage/kysely/sync-remote-storage.js.map +1 -1
  196. package/dist/src/storage/kysely/types.d.ts +22 -0
  197. package/dist/src/storage/kysely/types.d.ts.map +1 -1
  198. package/dist/src/storage/migrations/011_add_cursor_type_column.d.ts +3 -0
  199. package/dist/src/storage/migrations/011_add_cursor_type_column.d.ts.map +1 -0
  200. package/dist/src/storage/migrations/011_add_cursor_type_column.js +29 -0
  201. package/dist/src/storage/migrations/011_add_cursor_type_column.js.map +1 -0
  202. package/dist/src/storage/migrations/012_add_source_remote_column.d.ts +3 -0
  203. package/dist/src/storage/migrations/012_add_source_remote_column.d.ts.map +1 -0
  204. package/dist/src/storage/migrations/012_add_source_remote_column.js +7 -0
  205. package/dist/src/storage/migrations/012_add_source_remote_column.js.map +1 -0
  206. package/dist/src/storage/migrations/013_create_sync_dead_letters_table.d.ts +3 -0
  207. package/dist/src/storage/migrations/013_create_sync_dead_letters_table.d.ts.map +1 -0
  208. package/dist/src/storage/migrations/013_create_sync_dead_letters_table.js +24 -0
  209. package/dist/src/storage/migrations/013_create_sync_dead_letters_table.js.map +1 -0
  210. package/dist/src/storage/migrations/migrator.d.ts.map +1 -1
  211. package/dist/src/storage/migrations/migrator.js +6 -0
  212. package/dist/src/storage/migrations/migrator.js.map +1 -1
  213. package/dist/src/subs/default-error-handler.d.ts.map +1 -1
  214. package/dist/src/subs/default-error-handler.js.map +1 -1
  215. package/dist/src/subs/subscription-notification-read-model.d.ts +3 -2
  216. package/dist/src/subs/subscription-notification-read-model.d.ts.map +1 -1
  217. package/dist/src/subs/subscription-notification-read-model.js +1 -1
  218. package/dist/src/subs/subscription-notification-read-model.js.map +1 -1
  219. package/dist/src/sync/batch-aggregator.d.ts +25 -0
  220. package/dist/src/sync/batch-aggregator.d.ts.map +1 -0
  221. package/dist/src/sync/batch-aggregator.js +94 -0
  222. package/dist/src/sync/batch-aggregator.js.map +1 -0
  223. package/dist/src/sync/buffered-mailbox.d.ts +36 -0
  224. package/dist/src/sync/buffered-mailbox.d.ts.map +1 -0
  225. package/dist/src/sync/buffered-mailbox.js +164 -0
  226. package/dist/src/sync/buffered-mailbox.js.map +1 -0
  227. package/dist/src/sync/channels/{gql-channel.d.ts → gql-req-channel.d.ts} +49 -42
  228. package/dist/src/sync/channels/gql-req-channel.d.ts.map +1 -0
  229. package/dist/src/sync/channels/gql-req-channel.js +548 -0
  230. package/dist/src/sync/channels/gql-req-channel.js.map +1 -0
  231. package/dist/src/sync/channels/gql-request-channel-factory.d.ts +32 -0
  232. package/dist/src/sync/channels/gql-request-channel-factory.d.ts.map +1 -0
  233. package/dist/src/sync/channels/gql-request-channel-factory.js +105 -0
  234. package/dist/src/sync/channels/gql-request-channel-factory.js.map +1 -0
  235. package/dist/src/sync/channels/gql-res-channel.d.ts +25 -0
  236. package/dist/src/sync/channels/gql-res-channel.d.ts.map +1 -0
  237. package/dist/src/sync/channels/gql-res-channel.js +79 -0
  238. package/dist/src/sync/channels/gql-res-channel.js.map +1 -0
  239. package/dist/src/sync/channels/gql-response-channel-factory.d.ts +13 -0
  240. package/dist/src/sync/channels/gql-response-channel-factory.d.ts.map +1 -0
  241. package/dist/src/sync/channels/gql-response-channel-factory.js +14 -0
  242. package/dist/src/sync/channels/gql-response-channel-factory.js.map +1 -0
  243. package/dist/src/sync/channels/index.d.ts +6 -4
  244. package/dist/src/sync/channels/index.d.ts.map +1 -1
  245. package/dist/src/sync/channels/index.js +6 -4
  246. package/dist/src/sync/channels/index.js.map +1 -1
  247. package/dist/src/sync/channels/interval-poll-timer.d.ts +40 -0
  248. package/dist/src/sync/channels/interval-poll-timer.d.ts.map +1 -0
  249. package/dist/src/sync/channels/interval-poll-timer.js +123 -0
  250. package/dist/src/sync/channels/interval-poll-timer.js.map +1 -0
  251. package/dist/src/sync/channels/poll-timer.d.ts +14 -0
  252. package/dist/src/sync/channels/poll-timer.d.ts.map +1 -0
  253. package/dist/src/sync/channels/poll-timer.js +2 -0
  254. package/dist/src/sync/channels/poll-timer.js.map +1 -0
  255. package/dist/src/sync/channels/utils.d.ts +15 -1
  256. package/dist/src/sync/channels/utils.d.ts.map +1 -1
  257. package/dist/src/sync/channels/utils.js +67 -2
  258. package/dist/src/sync/channels/utils.js.map +1 -1
  259. package/dist/src/sync/index.d.ts +10 -6
  260. package/dist/src/sync/index.d.ts.map +1 -1
  261. package/dist/src/sync/index.js +7 -5
  262. package/dist/src/sync/index.js.map +1 -1
  263. package/dist/src/sync/interfaces.d.ts +34 -21
  264. package/dist/src/sync/interfaces.d.ts.map +1 -1
  265. package/dist/src/sync/mailbox.d.ts +51 -12
  266. package/dist/src/sync/mailbox.d.ts.map +1 -1
  267. package/dist/src/sync/mailbox.js +89 -6
  268. package/dist/src/sync/mailbox.js.map +1 -1
  269. package/dist/src/sync/sync-awaiter.d.ts +34 -0
  270. package/dist/src/sync/sync-awaiter.d.ts.map +1 -0
  271. package/dist/src/sync/sync-awaiter.js +124 -0
  272. package/dist/src/sync/sync-awaiter.js.map +1 -0
  273. package/dist/src/sync/sync-builder.d.ts +5 -1
  274. package/dist/src/sync/sync-builder.d.ts.map +1 -1
  275. package/dist/src/sync/sync-builder.js +14 -1
  276. package/dist/src/sync/sync-builder.js.map +1 -1
  277. package/dist/src/sync/sync-manager.d.ts +21 -8
  278. package/dist/src/sync/sync-manager.d.ts.map +1 -1
  279. package/dist/src/sync/sync-manager.js +274 -93
  280. package/dist/src/sync/sync-manager.js.map +1 -1
  281. package/dist/src/sync/sync-operation.d.ts +4 -2
  282. package/dist/src/sync/sync-operation.d.ts.map +1 -1
  283. package/dist/src/sync/sync-operation.js +8 -1
  284. package/dist/src/sync/sync-operation.js.map +1 -1
  285. package/dist/src/sync/sync-status-tracker.d.ts +31 -0
  286. package/dist/src/sync/sync-status-tracker.d.ts.map +1 -0
  287. package/dist/src/sync/sync-status-tracker.js +137 -0
  288. package/dist/src/sync/sync-status-tracker.js.map +1 -0
  289. package/dist/src/sync/types.d.ts +79 -2
  290. package/dist/src/sync/types.d.ts.map +1 -1
  291. package/dist/src/sync/types.js +15 -0
  292. package/dist/src/sync/types.js.map +1 -1
  293. package/dist/src/sync/utils.d.ts +37 -2
  294. package/dist/src/sync/utils.d.ts.map +1 -1
  295. package/dist/src/sync/utils.js +205 -0
  296. package/dist/src/sync/utils.js.map +1 -1
  297. package/dist/src/utils/reshuffle.d.ts +22 -5
  298. package/dist/src/utils/reshuffle.d.ts.map +1 -1
  299. package/dist/src/utils/reshuffle.js +50 -6
  300. package/dist/src/utils/reshuffle.js.map +1 -1
  301. package/package.json +12 -15
  302. package/dist/src/processors/types.d.ts +0 -63
  303. package/dist/src/processors/types.d.ts.map +0 -1
  304. package/dist/src/processors/types.js +0 -2
  305. package/dist/src/processors/types.js.map +0 -1
  306. package/dist/src/storage/consistency-aware-legacy-storage.d.ts +0 -33
  307. package/dist/src/storage/consistency-aware-legacy-storage.d.ts.map +0 -1
  308. package/dist/src/storage/consistency-aware-legacy-storage.js +0 -65
  309. package/dist/src/storage/consistency-aware-legacy-storage.js.map +0 -1
  310. package/dist/src/sync/channels/composite-channel-factory.d.ts +0 -30
  311. package/dist/src/sync/channels/composite-channel-factory.d.ts.map +0 -1
  312. package/dist/src/sync/channels/composite-channel-factory.js +0 -87
  313. package/dist/src/sync/channels/composite-channel-factory.js.map +0 -1
  314. package/dist/src/sync/channels/gql-channel-factory.d.ts +0 -25
  315. package/dist/src/sync/channels/gql-channel-factory.d.ts.map +0 -1
  316. package/dist/src/sync/channels/gql-channel-factory.js +0 -76
  317. package/dist/src/sync/channels/gql-channel-factory.js.map +0 -1
  318. package/dist/src/sync/channels/gql-channel.d.ts.map +0 -1
  319. package/dist/src/sync/channels/gql-channel.js +0 -423
  320. package/dist/src/sync/channels/gql-channel.js.map +0 -1
  321. package/dist/src/sync/channels/polling-channel.d.ts +0 -39
  322. package/dist/src/sync/channels/polling-channel.d.ts.map +0 -1
  323. package/dist/src/sync/channels/polling-channel.js +0 -72
  324. package/dist/src/sync/channels/polling-channel.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sync-manager.js","sourceRoot":"","sources":["../../../src/sync/sync-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-manager.js","sourceRoot":"","sources":["../../../src/sync/sync-manager.ts"],"names":[],"mappings":"AASA,OAAO,EACL,iBAAiB,GAGlB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EACL,SAAS,GAGV,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAAE,eAAe,EAAsB,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,iBAAiB,GAGlB,MAAM,0BAA0B,CAAC;AASlC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,OAAO,WAAW;IACL,MAAM,CAAU;IAChB,aAAa,CAAqB;IAClC,aAAa,CAAqB;IAClC,iBAAiB,CAAyB;IAC1C,cAAc,CAAkB;IAChC,cAAc,CAAkB;IAChC,OAAO,CAAW;IAClB,QAAQ,CAAY;IACpB,OAAO,CAAsB;IAC7B,OAAO,CAAa;IACpB,WAAW,CAAc;IAClC,UAAU,CAAU;IACpB,gBAAgB,CAAc;IAC9B,sBAAsB,CAAc;IAC3B,eAAe,CAAkB;IACjC,iBAAiB,CAAoB;IACrC,uBAAuB,CAAS;IAE1C,QAAQ,GAAyB,IAAI,GAAG,EAAE,CAAC;IAElD,YACE,MAAe,EACf,aAAiC,EACjC,aAAiC,EACjC,iBAAyC,EACzC,cAA+B,EAC/B,cAA+B,EAC/B,OAAiB,EACjB,QAAmB,EACnB,0BAAkC,GAAG;QAErC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CACxD,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CACpC,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAC3D,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CACjC,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAEtD,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC1C,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,aAAa,EACpB,IAAI,CAAC,aAAa,EAClB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,cAAc,CACpB,CAAC;YAEF,MAAM,MAAM,GAAW;gBACrB,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO;aACR,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAElC,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uDAAuD,EACvD,MAAM,CAAC,IAAI,EACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,oBAAoB;YACpB,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;YAC1D,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC7C,iBAAiB,CAAC,eAAe,EACjC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC,CACtE,CAAC;QAEF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CACnD,iBAAiB,CAAC,UAAU,EAC5B,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CACpE,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE/B,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;SACvD,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBACrB,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,GAAG,CACP,IAAY,EACZ,YAAoB,EACpB,aAA4B,EAC5B,SAAuB,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAChE,UAAyB,EAAE,mBAAmB,EAAE,GAAG,EAAE,EACrD,EAAW;QAEX,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,8EAA8E,EAC9E,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,MAAM,EACN,OAAO,EACP,EAAE,CACH,CAAC;QAEF,MAAM,QAAQ,GAAG,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAE3C,MAAM,MAAM,GAAiB;YAC3B,IAAI,EAAE,gBAAgB,EAAE;YACxB,IAAI,EAAE,gBAAgB,EAAE;SACzB,CAAC;QAEF,MAAM,YAAY,GAAiB;YACjC,EAAE,EAAE,QAAQ;YACZ,IAAI;YACJ,YAAY;YACZ,aAAa;YACb,MAAM;YACN,OAAO;YACP,MAAM;SACP,CAAC;QAEF,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC1C,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,IAAI,CAAC,aAAa,EAClB,YAAY,EACZ,MAAM,EACN,IAAI,CAAC,cAAc,CACpB,CAAC;QAEF,MAAM,MAAM,GAAW;YACrB,EAAE,EAAE,QAAQ;YACZ,IAAI;YACJ,YAAY;YACZ,MAAM;YACN,OAAO;YACP,OAAO;SACR,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAElC,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,WAAW;QACX,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QAED,uBAAuB;QACvB,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEhC,2BAA2B;QAC3B,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,MAAoB;QAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,aAAa,CAAC,UAAkB;QAC9B,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,kBAAkB,CAAC,QAAkC;QACnD,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;IAEO,oBAAoB,CAAC,MAAc;QACzC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACvC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CACvC,CAAC;QAEF,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mEAAmE,EACnE,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,SAAS,EAClC,MAAM,CAAC,eAAe,CACvB,CAAC;gBAEF,MAAM,MAAM,GAAqB;oBAC/B,EAAE,EAAE,MAAM,CAAC,EAAE;oBACb,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,kBAAkB,CAAC,IAAI;oBAC5D,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS;iBACvD,CAAC;gBAEF,KAAK,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,6CAA6C,EAC7C,MAAM,CAAC,EAAE,EACT,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACjD,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;YAED,0DAA0D;YAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YAC9C,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAChD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC;gBAChE,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC5C,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAAc;QAC1C,IAAI,OAA2B,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;gBAC1D,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,IAAI,CAAC,uBAAuB;aACpC,CAAC,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wDAAwD,EACxD,MAAM,CAAC,IAAI,EACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,qDAAqD;QACrD,6EAA6E;QAC7E,+DAA+D;QAC/D,OAAO,CAAC,OAAO,EAAE,CAAC;QAElB,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,UAAU,CAClB,CAAC;YACF,MAAM,CAAC,MAAM,CACX,IAAI,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CACrE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QAE1C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uDAAuD,EACvD,OAAO,CAAC,MAAM,EACd,MAAM,CAAC,IAAI,CACZ,CAAC;IACJ,CAAC;IAEO,uBAAuB,CAAC,YAAoB;QAClD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC7C,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,KAAK,YAAY,CACjD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,KAAoB;QACrD,uCAAuC;QACvC,MAAM,aAAa,GAAG;YACpB,GAAG,IAAI,GAAG,CACR,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAChD,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAC7B,CACF;SACF,CAAC;QAEF,yCAAyC;QACzC,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;YAC3D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;QAED,oGAAoG;QACpG,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,MAAc,EAAE,OAAwB;QAC/D,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAoB,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAoB,EAAE,CAAC;QAErC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,MAAc,EACd,MAAqB;QAErB,MAAM,UAAU,GAAgB,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAE5E,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAC/B,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,MAAM,EACb,UAAU,EACV,SAAS,EACT,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,CAC9B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qEAAqE,EACrE,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,UAAU,EACjB,GAAG,CAAC,OAAO,CACZ,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,gBAAgB,CAAC;QACrB,IAAI,CAAC;YACH,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0EAA0E,EAC1E,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,UAAU,EACjB,OAAO,CAAC,EAAE,EACV,GAAG,CAAC,OAAO,CACZ,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAE5C,IAAI,gBAAgB,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC;YACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,8EAA8E,EAC9E,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,UAAU,EACjB,gBAAgB,CAAC,EAAE,EACnB,YAAY,CACb,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,YAAY,CAC5B,kBAAkB,CAAC,KAAK,EACxB,IAAI,KAAK,CAAC,+BAA+B,YAAY,EAAE,CAAC,CACzD,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,KAAuD;QAEvD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAE1C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACtC,GAAG,EAAE,MAAM,CAAC,KAAK;YACjB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;YACvD,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC;SAClD,CAAC,CAAC,CAAC;QAEJ,MAAM,OAAO,GAAqB,EAAE,IAAI,EAAE,CAAC;QAE3C,IAAI,MAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE;gBACxD,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtE,MAAM,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC/D,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YACD,OAAO;QACT,CAAC;QAED,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uEAAuE,EACvE,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,KAAK,CACb,CAAC;gBACF,MAAM,KAAK,GAAG,IAAI,YAAY,CAC5B,kBAAkB,CAAC,KAAK,EACxB,IAAI,KAAK,CAAC,YAAY,MAAM,CAAC,KAAK,kCAAkC,CAAC,CACtE,CAAC;gBACF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpC,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE1C,IAAI,gBAAgB,CAAC;YACrB,IAAI,CAAC;gBACH,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtE,MAAM,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC/D,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpC,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAE5C,IAAI,gBAAgB,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;gBACjD,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC;gBACxE,MAAM,YAAY,GAAG,IAAI,YAAY,CACnC,kBAAkB,CAAC,KAAK,EACxB,IAAI,KAAK,CAAC,+BAA+B,YAAY,EAAE,CAAC,CACzD,CAAC;gBACF,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,MAAc,EACd,UAAkB;QAElB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACzE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,oEAAoE;QACpE,uDAAuD;QACvD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACvB,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAClD,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAEtD,oEAAoE;QACpE,qEAAqE;QACrE,8BAA8B;QAC9B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC/C,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,MAAM,CAAC,UAAU,EAAE,EACnB,KAAK,EACL,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAC5B,MAAM,CAAC,IAAI,EACX,KAAK,CAAC,UAAU,EAChB,CAAC,KAAK,CAAC,KAAK,CAAC,EACb,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,CACjB,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,MAAc,EACd,UAAkB;QAElB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAC5C,MAAM,CAAC,YAAY,EACnB,UAAU,EACV,EAAE,mBAAmB,EAAE,MAAM,CAAC,IAAI,EAAE,CACrC,CAAC;QAEF,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7C,sBAAsB,CAAC,KAAK,CAAC,CAC9B,CAAC;QAEF,uCAAuC;QACvC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAC1D,IAAI,cAAc,IAAI,cAAc,KAAK,GAAG,EAAE,CAAC;YAC7C,UAAU,GAAG,UAAU,CAAC,MAAM,CAC5B,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,cAAc,IAAI,cAAc,CACtD,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,OAAO,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { OperationWithContext } from "../storage/interfaces.js";
1
+ import type { OperationWithContext } from "@powerhousedao/shared/document-model";
2
2
  import type { ChannelError } from "./errors.js";
3
3
  import { SyncOperationStatus } from "./types.js";
4
4
  type SyncOperationStatusCallback = (syncOp: SyncOperation, prev: SyncOperationStatus, next: SyncOperationStatus) => void;
@@ -8,6 +8,8 @@ export declare class SyncOperationAggregateError extends Error {
8
8
  }
9
9
  export declare class SyncOperation {
10
10
  readonly id: string;
11
+ readonly jobId: string;
12
+ jobDependencies: string[];
11
13
  readonly remoteName: string;
12
14
  readonly documentId: string;
13
15
  readonly scopes: string[];
@@ -16,7 +18,7 @@ export declare class SyncOperation {
16
18
  status: SyncOperationStatus;
17
19
  error?: ChannelError;
18
20
  private callbacks;
19
- constructor(id: string, remoteName: string, documentId: string, scopes: string[], branch: string, operations: OperationWithContext[]);
21
+ constructor(id: string, jobId: string, jobDependencies: string[], remoteName: string, documentId: string, scopes: string[], branch: string, operations: OperationWithContext[]);
20
22
  on(callback: SyncOperationStatusCallback): void;
21
23
  started(): void;
22
24
  transported(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"sync-operation.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,KAAK,2BAA2B,GAAG,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,mBAAmB,EACzB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC;AAEV,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,MAAM,EAAE,KAAK,EAAE,CAAC;gBAEJ,MAAM,EAAE,KAAK,EAAE;CAQ5B;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,oBAAoB,EAAE,CAAC;IAC5C,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,OAAO,CAAC,SAAS,CAAqC;gBAGpD,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,oBAAoB,EAAE;IAWpC,EAAE,CAAC,QAAQ,EAAE,2BAA2B,GAAG,IAAI;IAI/C,OAAO,IAAI,IAAI;IAIf,WAAW,IAAI,IAAI;IAInB,QAAQ,IAAI,IAAI;IAIhB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKjC,OAAO,CAAC,UAAU;CAenB"}
1
+ {"version":3,"file":"sync-operation.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,KAAK,2BAA2B,GAAG,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,mBAAmB,EACzB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC;AAEV,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,MAAM,EAAE,KAAK,EAAE,CAAC;gBAEJ,MAAM,EAAE,KAAK,EAAE;CAQ5B;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,oBAAoB,EAAE,CAAC;IAC5C,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,OAAO,CAAC,SAAS,CAAqC;gBAGpD,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EAAE,EACzB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,oBAAoB,EAAE;IAapC,EAAE,CAAC,QAAQ,EAAE,2BAA2B,GAAG,IAAI;IAI/C,OAAO,IAAI,IAAI;IAIf,WAAW,IAAI,IAAI;IAInB,QAAQ,IAAI,IAAI;IAIhB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKjC,OAAO,CAAC,UAAU;CAkBnB"}
@@ -10,6 +10,8 @@ export class SyncOperationAggregateError extends Error {
10
10
  }
11
11
  export class SyncOperation {
12
12
  id;
13
+ jobId;
14
+ jobDependencies;
13
15
  remoteName;
14
16
  documentId;
15
17
  scopes;
@@ -18,8 +20,10 @@ export class SyncOperation {
18
20
  status;
19
21
  error;
20
22
  callbacks = [];
21
- constructor(id, remoteName, documentId, scopes, branch, operations) {
23
+ constructor(id, jobId, jobDependencies, remoteName, documentId, scopes, branch, operations) {
22
24
  this.id = id;
25
+ this.jobId = jobId;
26
+ this.jobDependencies = jobDependencies;
23
27
  this.remoteName = remoteName;
24
28
  this.documentId = documentId;
25
29
  this.scopes = scopes;
@@ -45,6 +49,9 @@ export class SyncOperation {
45
49
  }
46
50
  transition(next) {
47
51
  const prev = this.status;
52
+ if (next <= prev) {
53
+ return;
54
+ }
48
55
  this.status = next;
49
56
  const errors = [];
50
57
  for (const callback of this.callbacks) {
@@ -1 +1 @@
1
- {"version":3,"file":"sync-operation.js","sourceRoot":"","sources":["../../../src/sync/sync-operation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAQjD,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpD,MAAM,CAAU;IAEhB,YAAY,MAAe;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,KAAK,CACH,sCAAsC,MAAM,CAAC,MAAM,cAAc,QAAQ,EAAE,CAC5E,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACf,EAAE,CAAS;IACX,UAAU,CAAS;IACnB,UAAU,CAAS;IACnB,MAAM,CAAW;IACjB,MAAM,CAAS;IACf,UAAU,CAAyB;IAC5C,MAAM,CAAsB;IAC5B,KAAK,CAAgB;IAEb,SAAS,GAAkC,EAAE,CAAC;IAEtD,YACE,EAAU,EACV,UAAkB,EAClB,UAAkB,EAClB,MAAgB,EAChB,MAAc,EACd,UAAkC;QAElC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC;IAC5C,CAAC;IAED,EAAE,CAAC,QAAqC;QACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,KAAmB;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEO,UAAU,CAAC,IAAyB;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"sync-operation.js","sourceRoot":"","sources":["../../../src/sync/sync-operation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { IChannel } from "./interfaces.js";
2
+ export declare enum SyncStatus {
3
+ Synced = "SYNCED",
4
+ Outgoing = "OUTGOING",
5
+ Incoming = "INCOMING",
6
+ OutgoingAndIncoming = "OUTGOING_AND_INCOMING",
7
+ Error = "ERROR"
8
+ }
9
+ export type SyncStatusChangeCallback = (documentId: string, status: SyncStatus) => void;
10
+ export interface ISyncStatusTracker {
11
+ getStatus(documentId: string): SyncStatus | undefined;
12
+ onChange(callback: SyncStatusChangeCallback): () => void;
13
+ trackRemote(remoteName: string, channel: IChannel): void;
14
+ untrackRemote(remoteName: string): void;
15
+ clear(): void;
16
+ }
17
+ export declare class SyncStatusTracker implements ISyncStatusTracker {
18
+ private readonly remotes;
19
+ private readonly seen;
20
+ private readonly callbacks;
21
+ getStatus(documentId: string): SyncStatus | undefined;
22
+ onChange(callback: SyncStatusChangeCallback): () => void;
23
+ trackRemote(remoteName: string, channel: IChannel): void;
24
+ untrackRemote(remoteName: string): void;
25
+ clear(): void;
26
+ private handleAdded;
27
+ private handleRemoved;
28
+ private getOrCreateCounts;
29
+ private notifyChange;
30
+ }
31
+ //# sourceMappingURL=sync-status-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-status-tracker.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-status-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,mBAAmB,0BAA0B;IAC7C,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,wBAAwB,GAAG,CACrC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,UAAU,KACf,IAAI,CAAC;AAEV,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,GAAG,MAAM,IAAI,CAAC;IACzD,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,KAAK,IAAI,IAAI,CAAC;CACf;AAUD,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CACZ;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0B;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4C;IAEtE,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAqBrD,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,GAAG,MAAM,IAAI;IAOxD,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI;IAoBxD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAcvC,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,WAAW;IA+BnB,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,YAAY;CAUrB"}
@@ -0,0 +1,137 @@
1
+ export var SyncStatus;
2
+ (function (SyncStatus) {
3
+ SyncStatus["Synced"] = "SYNCED";
4
+ SyncStatus["Outgoing"] = "OUTGOING";
5
+ SyncStatus["Incoming"] = "INCOMING";
6
+ SyncStatus["OutgoingAndIncoming"] = "OUTGOING_AND_INCOMING";
7
+ SyncStatus["Error"] = "ERROR";
8
+ })(SyncStatus || (SyncStatus = {}));
9
+ export class SyncStatusTracker {
10
+ remotes = new Map();
11
+ seen = new Set();
12
+ callbacks = new Set();
13
+ getStatus(documentId) {
14
+ if (!this.seen.has(documentId)) {
15
+ return undefined;
16
+ }
17
+ let totalInbox = 0;
18
+ let totalOutbox = 0;
19
+ let totalErrors = 0;
20
+ for (const documents of this.remotes.values()) {
21
+ const counts = documents.get(documentId);
22
+ if (counts) {
23
+ totalInbox += counts.inboxCount;
24
+ totalOutbox += counts.outboxCount;
25
+ totalErrors += counts.errorCount;
26
+ }
27
+ }
28
+ return deriveStatus(totalInbox, totalOutbox, totalErrors);
29
+ }
30
+ onChange(callback) {
31
+ this.callbacks.add(callback);
32
+ return () => {
33
+ this.callbacks.delete(callback);
34
+ };
35
+ }
36
+ trackRemote(remoteName, channel) {
37
+ this.remotes.set(remoteName, new Map());
38
+ channel.inbox.onAdded((syncOps) => this.handleAdded(remoteName, "inbox", syncOps));
39
+ channel.inbox.onRemoved((syncOps) => this.handleRemoved(remoteName, "inbox", syncOps));
40
+ channel.outbox.onAdded((syncOps) => this.handleAdded(remoteName, "outbox", syncOps));
41
+ channel.outbox.onRemoved((syncOps) => this.handleRemoved(remoteName, "outbox", syncOps));
42
+ channel.deadLetter.onAdded((syncOps) => this.handleAdded(remoteName, "deadLetter", syncOps));
43
+ }
44
+ untrackRemote(remoteName) {
45
+ const documents = this.remotes.get(remoteName);
46
+ if (!documents) {
47
+ return;
48
+ }
49
+ const affectedDocumentIds = [...documents.keys()];
50
+ this.remotes.delete(remoteName);
51
+ for (const documentId of affectedDocumentIds) {
52
+ this.notifyChange(documentId);
53
+ }
54
+ }
55
+ clear() {
56
+ this.remotes.clear();
57
+ this.seen.clear();
58
+ this.callbacks.clear();
59
+ }
60
+ handleAdded(remoteName, mailboxType, syncOps) {
61
+ const changedDocuments = new Set();
62
+ for (const syncOp of syncOps) {
63
+ if (mailboxType === "inbox" && !syncOp.remoteName) {
64
+ continue;
65
+ }
66
+ const counts = this.getOrCreateCounts(remoteName, syncOp.documentId);
67
+ this.seen.add(syncOp.documentId);
68
+ if (mailboxType === "inbox") {
69
+ counts.inboxCount++;
70
+ }
71
+ else if (mailboxType === "outbox") {
72
+ counts.outboxCount++;
73
+ }
74
+ else {
75
+ counts.errorCount++;
76
+ }
77
+ changedDocuments.add(syncOp.documentId);
78
+ }
79
+ for (const documentId of changedDocuments) {
80
+ this.notifyChange(documentId);
81
+ }
82
+ }
83
+ handleRemoved(remoteName, mailboxType, syncOps) {
84
+ const changedDocuments = new Set();
85
+ for (const syncOp of syncOps) {
86
+ const counts = this.getOrCreateCounts(remoteName, syncOp.documentId);
87
+ if (mailboxType === "inbox") {
88
+ counts.inboxCount = Math.max(0, counts.inboxCount - 1);
89
+ }
90
+ else if (mailboxType === "outbox") {
91
+ counts.outboxCount = Math.max(0, counts.outboxCount - 1);
92
+ }
93
+ changedDocuments.add(syncOp.documentId);
94
+ }
95
+ for (const documentId of changedDocuments) {
96
+ this.notifyChange(documentId);
97
+ }
98
+ }
99
+ getOrCreateCounts(remoteName, documentId) {
100
+ let documents = this.remotes.get(remoteName);
101
+ if (!documents) {
102
+ documents = new Map();
103
+ this.remotes.set(remoteName, documents);
104
+ }
105
+ let counts = documents.get(documentId);
106
+ if (!counts) {
107
+ counts = { inboxCount: 0, outboxCount: 0, errorCount: 0 };
108
+ documents.set(documentId, counts);
109
+ }
110
+ return counts;
111
+ }
112
+ notifyChange(documentId) {
113
+ const status = this.getStatus(documentId);
114
+ if (status === undefined) {
115
+ return;
116
+ }
117
+ for (const callback of [...this.callbacks]) {
118
+ callback(documentId, status);
119
+ }
120
+ }
121
+ }
122
+ function deriveStatus(inboxCount, outboxCount, errorCount) {
123
+ if (errorCount > 0) {
124
+ return SyncStatus.Error;
125
+ }
126
+ if (inboxCount > 0 && outboxCount > 0) {
127
+ return SyncStatus.OutgoingAndIncoming;
128
+ }
129
+ if (inboxCount > 0) {
130
+ return SyncStatus.Incoming;
131
+ }
132
+ if (outboxCount > 0) {
133
+ return SyncStatus.Outgoing;
134
+ }
135
+ return SyncStatus.Synced;
136
+ }
137
+ //# sourceMappingURL=sync-status-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-status-tracker.js","sourceRoot":"","sources":["../../../src/sync/sync-status-tracker.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,17 @@
1
- import type { OperationWithContext } from "../storage/interfaces.js";
2
- export type RemoteOptions = {};
1
+ import type { OperationWithContext } from "@powerhousedao/shared/document-model";
2
+ export declare enum ChannelScheme {
3
+ CONNECT = "connect",
4
+ SWITCHBOARD = "switchboard"
5
+ }
6
+ /**
7
+ * Dynamic JWT token handler for generating authentication tokens per-request.
8
+ * Called with the target URL to enable audience-specific tokens (aud claim).
9
+ * Returns undefined if no authentication is available (e.g., user not logged in).
10
+ */
11
+ export type JwtHandler = (url: string) => Promise<string | undefined>;
12
+ export type RemoteOptions = {
13
+ sinceTimestampUtcMs: string;
14
+ };
3
15
  export type RemoteFilter = {
4
16
  documentId: string[];
5
17
  scope: string[];
@@ -7,6 +19,7 @@ export type RemoteFilter = {
7
19
  };
8
20
  export type RemoteCursor = {
9
21
  remoteName: string;
22
+ cursorType: string;
10
23
  cursorOrdinal: number;
11
24
  lastSyncedAtUtcMs?: number;
12
25
  };
@@ -19,6 +32,8 @@ export type SyncEnvelope = {
19
32
  channelMeta: ChannelMeta;
20
33
  operations?: OperationWithContext[];
21
34
  cursor?: RemoteCursor;
35
+ key?: string;
36
+ dependsOn?: string[];
22
37
  };
23
38
  export declare enum SyncOperationStatus {
24
39
  Unknown = -1,
@@ -57,4 +72,66 @@ export type RemoteRecord = {
57
72
  options: RemoteOptions;
58
73
  status: RemoteStatus;
59
74
  };
75
+ /**
76
+ * Event types for sync lifecycle events.
77
+ * These events track the sync progress of a job's operations to remotes.
78
+ * Uses a separate namespace (20000 range) from ReactorEventTypes (10000 range).
79
+ */
80
+ export declare const SyncEventTypes: {
81
+ readonly SYNC_PENDING: 20001;
82
+ readonly SYNC_SUCCEEDED: 20002;
83
+ readonly SYNC_FAILED: 20003;
84
+ };
85
+ /**
86
+ * Event emitted when all SyncOperations for a job are queued in outboxes.
87
+ */
88
+ export type SyncPendingEvent = {
89
+ jobId: string;
90
+ syncOperationCount: number;
91
+ remoteNames: string[];
92
+ };
93
+ /**
94
+ * Event emitted when all sync operations for a job succeed.
95
+ */
96
+ export type SyncSucceededEvent = {
97
+ jobId: string;
98
+ syncOperationCount: number;
99
+ };
100
+ /**
101
+ * Event emitted when at least one sync operation for a job fails.
102
+ */
103
+ export type SyncFailedEvent = {
104
+ jobId: string;
105
+ successCount: number;
106
+ failureCount: number;
107
+ errors: Array<{
108
+ remoteName: string;
109
+ documentId: string;
110
+ error: string;
111
+ }>;
112
+ };
113
+ /**
114
+ * Status of a sync operation result.
115
+ */
116
+ export type SyncResultStatus = "succeeded" | "failed";
117
+ /**
118
+ * Error information for a failed sync operation to a specific remote.
119
+ */
120
+ export type SyncResultError = {
121
+ remoteName: string;
122
+ documentId: string;
123
+ error: string;
124
+ };
125
+ /**
126
+ * Result of waiting for sync operations to complete for a job.
127
+ * Returned by ISyncManager.waitForSync().
128
+ */
129
+ export type SyncResult = {
130
+ jobId: string;
131
+ status: SyncResultStatus;
132
+ syncOperationCount: number;
133
+ successCount: number;
134
+ failureCount: number;
135
+ errors: SyncResultError[];
136
+ };
60
137
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sync/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGrE,MAAM,MAAM,aAAa,GAAG,EAE3B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,KAAK,CAAC;AAEpD,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,gBAAgB,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACpC,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF,oBAAY,mBAAmB;IAC7B,OAAO,KAAK;IACZ,gBAAgB,IAAI;IACpB,gBAAgB,IAAI;IACpB,OAAO,IAAI;IACX,KAAK,IAAI;CACV;AAED,oBAAY,kBAAkB;IAC5B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,GACnB,eAAe,GACf,eAAe,GACf,oBAAoB,GACpB,mBAAmB,GACnB,gBAAgB,CAAC;AAErB,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sync/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
+ export var ChannelScheme;
2
+ (function (ChannelScheme) {
3
+ ChannelScheme["CONNECT"] = "connect";
4
+ ChannelScheme["SWITCHBOARD"] = "switchboard";
5
+ })(ChannelScheme || (ChannelScheme = {}));
1
6
  export var SyncOperationStatus;
2
7
  (function (SyncOperationStatus) {
3
8
  SyncOperationStatus[SyncOperationStatus["Unknown"] = -1] = "Unknown";
@@ -13,4 +18,14 @@ export var ChannelErrorSource;
13
18
  ChannelErrorSource["Inbox"] = "inbox";
14
19
  ChannelErrorSource["Outbox"] = "outbox";
15
20
  })(ChannelErrorSource || (ChannelErrorSource = {}));
21
+ /**
22
+ * Event types for sync lifecycle events.
23
+ * These events track the sync progress of a job's operations to remotes.
24
+ * Uses a separate namespace (20000 range) from ReactorEventTypes (10000 range).
25
+ */
26
+ export const SyncEventTypes = {
27
+ SYNC_PENDING: 20001,
28
+ SYNC_SUCCEEDED: 20002,
29
+ SYNC_FAILED: 20003,
30
+ };
16
31
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/sync/types.ts"],"names":[],"mappings":"AAgCA,MAAM,CAAN,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,oEAAY,CAAA;IACZ,qFAAoB,CAAA;IACpB,qFAAoB,CAAA;IACpB,mEAAW,CAAA;IACX,+DAAS,CAAA;AACX,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,QAM9B;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,yCAAmB,CAAA;IACnB,qCAAe,CAAA;IACf,uCAAiB,CAAA;AACnB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/sync/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,4CAA2B,CAAA;AAC7B,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAyCD,MAAM,CAAN,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,oEAAY,CAAA;IACZ,qFAAoB,CAAA;IACpB,qFAAoB,CAAA;IACpB,mEAAW,CAAA;IACX,+DAAS,CAAA;AACX,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,QAM9B;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,mCAAa,CAAA;IACb,yCAAmB,CAAA;IACnB,qCAAe,CAAA;IACf,uCAAiB,CAAA;AACnB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAqCD;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,YAAY,EAAE,KAAK;IACnB,cAAc,EAAE,KAAK;IACrB,WAAW,EAAE,KAAK;CACV,CAAC"}
@@ -1,11 +1,24 @@
1
- import type { OperationWithContext } from "../storage/interfaces.js";
2
- import type { ChannelHealth, RemoteFilter } from "./types.js";
1
+ import type { OperationWithContext } from "@powerhousedao/shared/document-model";
2
+ import { type OperationIndexEntry } from "../cache/operation-index-types.js";
3
+ import type { JobWriteReadyEvent } from "../events/types.js";
4
+ import type { PreparedBatch } from "./batch-aggregator.js";
5
+ import type { IMailbox } from "./mailbox.js";
6
+ import { SyncOperation } from "./sync-operation.js";
7
+ import { type ChannelHealth, type RemoteFilter } from "./types.js";
3
8
  export type OperationBatch = {
4
9
  documentId: string;
5
10
  branch: string;
6
11
  scope: string;
7
12
  operations: OperationWithContext[];
8
13
  };
14
+ /**
15
+ * Trims a mailbox using the jobIds from a batch.
16
+ */
17
+ export declare function trimMailboxFromBatch(mailbox: IMailbox, batch: PreparedBatch): void;
18
+ /**
19
+ * Trims a mailbox using the ack ordinal.
20
+ */
21
+ export declare function trimMailboxFromAckOrdinal(mailbox: IMailbox, ackOrdinal: number): void;
9
22
  /**
10
23
  * Filters operations based on a remote's filter criteria.
11
24
  *
@@ -32,5 +45,27 @@ export declare function createIdleHealth(): ChannelHealth;
32
45
  * This ensures operations are grouped for efficient processing while maintaining
33
46
  * causality across documents and scopes.
34
47
  */
48
+ /**
49
+ * Sorts envelopes by the timestamp of their first operation.
50
+ * Envelopes without operations are placed at the end.
51
+ */
52
+ export declare function sortEnvelopesByFirstOperationTimestamp<T extends {
53
+ operations?: ReadonlyArray<{
54
+ operation: {
55
+ timestampUtcMs: string;
56
+ };
57
+ }> | null | undefined;
58
+ }>(envelopes: T[]): T[];
35
59
  export declare function batchOperationsByDocument(operations: OperationWithContext[]): OperationBatch[];
60
+ export declare function getMaxOrdinal(operations: OperationWithContext[]): number;
61
+ export declare function filterByCollectionMembership(operations: OperationWithContext[], collectionId: string, collectionMemberships?: Record<string, string[]>): OperationWithContext[];
62
+ export declare function toOperationWithContext(entry: OperationIndexEntry): OperationWithContext;
63
+ /**
64
+ * Merges SyncOperations that share the same (documentId, scope, branch) into
65
+ * a single SyncOperation per group. Within each group, operations are sorted
66
+ * by context.ordinal. The merged SyncOperation keeps the first group member's
67
+ * jobId; all other jobIds are remapped so external dependencies still resolve.
68
+ */
69
+ export declare function consolidateSyncOperations(syncOps: SyncOperation[]): SyncOperation[];
70
+ export declare function mergeCollectionMemberships(events: JobWriteReadyEvent[]): Record<string, string[]>;
36
71
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/sync/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,oBAAoB,EAAE,CAAC;CACpC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,oBAAoB,EAAE,EAClC,MAAM,EAAE,YAAY,GACnB,oBAAoB,EAAE,CAmBxB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,oBAAoB,EAAE,GACjC,cAAc,EAAE,CAsClB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/sync/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,oBAAoB,EAAE,CAAC;CACpC,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,aAAa,GACnB,IAAI,CAuBN;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,QAAQ,EACjB,UAAU,EAAE,MAAM,QA0BnB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,oBAAoB,EAAE,EAClC,MAAM,EAAE,YAAY,GACnB,oBAAoB,EAAE,CAmBxB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD;AAED;;;;;;;;;;;GAWG;AACH;;;GAGG;AACH,wBAAgB,sCAAsC,CACpD,CAAC,SAAS;IACR,UAAU,CAAC,EACP,aAAa,CAAC;QAAE,SAAS,EAAE;YAAE,cAAc,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,GACxD,IAAI,GACJ,SAAS,CAAC;CACf,EACD,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAWrB;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,oBAAoB,EAAE,GACjC,cAAc,EAAE,CAsClB;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAKxE;AAED,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,oBAAoB,EAAE,EAClC,YAAY,EAAE,MAAM,EACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAC/C,oBAAoB,EAAE,CAYxB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,mBAAmB,GACzB,oBAAoB,CAkBtB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,aAAa,EAAE,GACvB,aAAa,EAAE,CAiFjB;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,kBAAkB,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CA2C1B"}