@dxos/echo-db 2.33.5-dev.ea3876ba → 2.33.5-dev.fee8f5fe

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 (411) hide show
  1. package/dist/src/api/index.d.ts +0 -5
  2. package/dist/src/api/index.d.ts.map +1 -1
  3. package/dist/src/api/index.js +5 -6
  4. package/dist/src/api/index.js.map +1 -1
  5. package/dist/src/api/schema.test.js +1 -1
  6. package/dist/src/api/schema.test.js.map +1 -1
  7. package/dist/src/echo.d.ts +1 -0
  8. package/dist/src/echo.d.ts.map +1 -1
  9. package/dist/src/echo.js +10 -21
  10. package/dist/src/echo.js.map +1 -1
  11. package/dist/src/echo.test.js +12 -4
  12. package/dist/src/echo.test.js.map +1 -1
  13. package/dist/src/halo/contact-manager.d.ts +2 -1
  14. package/dist/src/halo/contact-manager.d.ts.map +1 -1
  15. package/dist/src/halo/contact-manager.js +1 -1
  16. package/dist/src/halo/contact-manager.js.map +1 -1
  17. package/dist/src/halo/halo-factory.d.ts +4 -4
  18. package/dist/src/halo/halo-factory.d.ts.map +1 -1
  19. package/dist/src/halo/halo-factory.js +8 -13
  20. package/dist/src/halo/halo-factory.js.map +1 -1
  21. package/dist/src/halo/halo-party.d.ts +5 -4
  22. package/dist/src/halo/halo-party.d.ts.map +1 -1
  23. package/dist/src/halo/halo-party.js +16 -10
  24. package/dist/src/halo/halo-party.js.map +1 -1
  25. package/dist/src/halo/halo.d.ts +2 -2
  26. package/dist/src/halo/halo.d.ts.map +1 -1
  27. package/dist/src/halo/halo.test.js +4 -3
  28. package/dist/src/halo/halo.test.js.map +1 -1
  29. package/dist/src/halo/identity.js +2 -2
  30. package/dist/src/halo/identity.js.map +1 -1
  31. package/dist/src/halo/index.js +5 -1
  32. package/dist/src/halo/index.js.map +1 -1
  33. package/dist/src/halo/party-opener.d.ts +1 -1
  34. package/dist/src/halo/party-opener.d.ts.map +1 -1
  35. package/dist/src/halo/party-opener.js +5 -3
  36. package/dist/src/halo/party-opener.js.map +1 -1
  37. package/dist/src/halo/preferences.d.ts +1 -1
  38. package/dist/src/halo/preferences.d.ts.map +1 -1
  39. package/dist/src/halo/preferences.js +8 -11
  40. package/dist/src/halo/preferences.js.map +1 -1
  41. package/dist/src/index.d.ts +2 -2
  42. package/dist/src/index.d.ts.map +1 -1
  43. package/dist/src/index.js +7 -3
  44. package/dist/src/index.js.map +1 -1
  45. package/dist/src/invitations/greeting-initiator.d.ts +4 -5
  46. package/dist/src/invitations/greeting-initiator.d.ts.map +1 -1
  47. package/dist/src/invitations/greeting-initiator.js +4 -4
  48. package/dist/src/invitations/greeting-initiator.js.map +1 -1
  49. package/dist/src/invitations/greeting-protocol-provider.d.ts.map +1 -1
  50. package/dist/src/invitations/greeting-protocol-provider.js +5 -9
  51. package/dist/src/invitations/greeting-protocol-provider.js.map +1 -1
  52. package/dist/src/invitations/greeting-responder.d.ts +6 -4
  53. package/dist/src/invitations/greeting-responder.d.ts.map +1 -1
  54. package/dist/src/invitations/greeting-responder.js +11 -14
  55. package/dist/src/invitations/greeting-responder.js.map +1 -1
  56. package/dist/src/invitations/halo-recovery-initiator.d.ts +1 -1
  57. package/dist/src/invitations/halo-recovery-initiator.d.ts.map +1 -1
  58. package/dist/src/invitations/halo-recovery-initiator.js +2 -2
  59. package/dist/src/invitations/halo-recovery-initiator.js.map +1 -1
  60. package/dist/src/invitations/index.js +5 -1
  61. package/dist/src/invitations/index.js.map +1 -1
  62. package/dist/src/invitations/invitation-descriptor.js +6 -2
  63. package/dist/src/invitations/invitation-descriptor.js.map +1 -1
  64. package/dist/src/invitations/invitation-factory.d.ts +5 -2
  65. package/dist/src/invitations/invitation-factory.d.ts.map +1 -1
  66. package/dist/src/invitations/invitation-factory.js +4 -3
  67. package/dist/src/invitations/invitation-factory.js.map +1 -1
  68. package/dist/src/invitations/offline-invitation-claimer.d.ts.map +1 -1
  69. package/dist/src/invitations/offline-invitation-claimer.js +7 -9
  70. package/dist/src/invitations/offline-invitation-claimer.js.map +1 -1
  71. package/dist/src/{database → packlets/database}/data-mirror.d.ts +0 -0
  72. package/dist/src/packlets/database/data-mirror.d.ts.map +1 -0
  73. package/dist/src/{database → packlets/database}/data-mirror.js +0 -0
  74. package/dist/src/packlets/database/data-mirror.js.map +1 -0
  75. package/dist/src/{database → packlets/database}/data-mirror.test.d.ts +0 -0
  76. package/dist/src/packlets/database/data-mirror.test.d.ts.map +1 -0
  77. package/dist/src/{database → packlets/database}/data-mirror.test.js +2 -2
  78. package/dist/src/packlets/database/data-mirror.test.js.map +1 -0
  79. package/dist/src/{database → packlets/database}/data-service-host.d.ts +0 -0
  80. package/dist/src/packlets/database/data-service-host.d.ts.map +1 -0
  81. package/dist/src/{database → packlets/database}/data-service-host.js +4 -3
  82. package/dist/src/packlets/database/data-service-host.js.map +1 -0
  83. package/dist/src/{database → packlets/database}/data-service-router.d.ts +0 -0
  84. package/dist/src/packlets/database/data-service-router.d.ts.map +1 -0
  85. package/dist/src/{database → packlets/database}/data-service-router.js +0 -0
  86. package/dist/src/packlets/database/data-service-router.js.map +1 -0
  87. package/dist/src/{database → packlets/database}/database-backend.d.ts +4 -5
  88. package/dist/src/packlets/database/database-backend.d.ts.map +1 -0
  89. package/dist/src/{database → packlets/database}/database-backend.js +5 -6
  90. package/dist/src/packlets/database/database-backend.js.map +1 -0
  91. package/dist/src/{api → packlets/database}/database.d.ts +2 -1
  92. package/dist/src/packlets/database/database.d.ts.map +1 -0
  93. package/dist/src/{api → packlets/database}/database.js +2 -2
  94. package/dist/src/packlets/database/database.js.map +1 -0
  95. package/dist/src/{api → packlets/database}/database.test.d.ts +0 -0
  96. package/dist/src/packlets/database/database.test.d.ts.map +1 -0
  97. package/dist/src/{api → packlets/database}/database.test.js +3 -3
  98. package/dist/src/packlets/database/database.test.js.map +1 -0
  99. package/dist/src/{api → packlets/database}/entity.d.ts +1 -1
  100. package/dist/src/packlets/database/entity.d.ts.map +1 -0
  101. package/dist/src/{api → packlets/database}/entity.js +0 -0
  102. package/dist/src/packlets/database/entity.js.map +1 -0
  103. package/dist/src/{database → packlets/database}/index.d.ts +5 -0
  104. package/dist/src/packlets/database/index.d.ts.map +1 -0
  105. package/dist/src/{database → packlets/database}/index.js +10 -1
  106. package/dist/src/packlets/database/index.js.map +1 -0
  107. package/dist/src/{database → packlets/database}/item-demuxer.d.ts +5 -4
  108. package/dist/src/packlets/database/item-demuxer.d.ts.map +1 -0
  109. package/dist/src/{database → packlets/database}/item-demuxer.js +5 -8
  110. package/dist/src/packlets/database/item-demuxer.js.map +1 -0
  111. package/dist/src/{database → packlets/database}/item-demuxer.test.d.ts +0 -0
  112. package/dist/src/packlets/database/item-demuxer.test.d.ts.map +1 -0
  113. package/dist/src/{database → packlets/database}/item-demuxer.test.js +15 -11
  114. package/dist/src/packlets/database/item-demuxer.test.js.map +1 -0
  115. package/dist/src/{database → packlets/database}/item-manager.d.ts +3 -1
  116. package/dist/src/packlets/database/item-manager.d.ts.map +1 -0
  117. package/dist/src/{database → packlets/database}/item-manager.js +13 -12
  118. package/dist/src/packlets/database/item-manager.js.map +1 -0
  119. package/dist/src/{database → packlets/database}/item-manager.test.d.ts +0 -0
  120. package/dist/src/packlets/database/item-manager.test.d.ts.map +1 -0
  121. package/dist/src/{database → packlets/database}/item-manager.test.js +0 -0
  122. package/dist/src/packlets/database/item-manager.test.js.map +1 -0
  123. package/dist/src/{api → packlets/database}/item.d.ts +1 -1
  124. package/dist/src/packlets/database/item.d.ts.map +1 -0
  125. package/dist/src/{api → packlets/database}/item.js +0 -0
  126. package/dist/src/packlets/database/item.js.map +1 -0
  127. package/dist/src/{api → packlets/database}/link.d.ts +1 -1
  128. package/dist/src/packlets/database/link.d.ts.map +1 -0
  129. package/dist/src/{api → packlets/database}/link.js +0 -0
  130. package/dist/src/packlets/database/link.js.map +1 -0
  131. package/dist/src/{api → packlets/database}/selection/index.d.ts +0 -0
  132. package/dist/src/packlets/database/selection/index.d.ts.map +1 -0
  133. package/dist/src/{api → packlets/database}/selection/index.js +5 -1
  134. package/dist/src/packlets/database/selection/index.js.map +1 -0
  135. package/dist/src/{api → packlets/database}/selection/queries.d.ts +0 -0
  136. package/dist/src/packlets/database/selection/queries.d.ts.map +1 -0
  137. package/dist/src/{api → packlets/database}/selection/queries.js +13 -17
  138. package/dist/src/packlets/database/selection/queries.js.map +1 -0
  139. package/dist/src/{api → packlets/database}/selection/result.d.ts +0 -0
  140. package/dist/src/packlets/database/selection/result.d.ts.map +1 -0
  141. package/dist/src/{api → packlets/database}/selection/result.js +0 -0
  142. package/dist/src/packlets/database/selection/result.js.map +1 -0
  143. package/dist/src/{api → packlets/database}/selection/selection.d.ts +0 -0
  144. package/dist/src/packlets/database/selection/selection.d.ts.map +1 -0
  145. package/dist/src/{api → packlets/database}/selection/selection.js +1 -3
  146. package/dist/src/packlets/database/selection/selection.js.map +1 -0
  147. package/dist/src/{api → packlets/database}/selection/selection.test.d.ts +0 -0
  148. package/dist/src/packlets/database/selection/selection.test.d.ts.map +1 -0
  149. package/dist/src/{api → packlets/database}/selection/selection.test.js +4 -12
  150. package/dist/src/packlets/database/selection/selection.test.js.map +1 -0
  151. package/dist/src/{api → packlets/database}/selection/util.d.ts +0 -0
  152. package/dist/src/packlets/database/selection/util.d.ts.map +1 -0
  153. package/dist/src/{api → packlets/database}/selection/util.js +0 -0
  154. package/dist/src/packlets/database/selection/util.js.map +1 -0
  155. package/dist/src/{database → packlets/database}/testing.d.ts +1 -1
  156. package/dist/src/packlets/database/testing.d.ts.map +1 -0
  157. package/dist/src/{database → packlets/database}/testing.js +5 -6
  158. package/dist/src/packlets/database/testing.js.map +1 -0
  159. package/dist/src/{database → packlets/database}/timeframe-clock.d.ts +1 -0
  160. package/dist/src/packlets/database/timeframe-clock.d.ts.map +1 -0
  161. package/dist/src/{database → packlets/database}/timeframe-clock.js +3 -0
  162. package/dist/src/packlets/database/timeframe-clock.js.map +1 -0
  163. package/dist/src/{errors.d.ts → packlets/errors/index.d.ts} +1 -1
  164. package/dist/src/packlets/errors/index.d.ts.map +1 -0
  165. package/dist/src/{errors.js → packlets/errors/index.js} +1 -1
  166. package/dist/src/packlets/errors/index.js.map +1 -0
  167. package/dist/src/parties/data-party.d.ts +14 -10
  168. package/dist/src/parties/data-party.d.ts.map +1 -1
  169. package/dist/src/parties/data-party.js +39 -15
  170. package/dist/src/parties/data-party.js.map +1 -1
  171. package/dist/src/parties/data-party.test.js +42 -22
  172. package/dist/src/parties/data-party.test.js.map +1 -1
  173. package/dist/src/parties/index.js +5 -1
  174. package/dist/src/parties/index.js.map +1 -1
  175. package/dist/src/parties/party-factory.d.ts +5 -10
  176. package/dist/src/parties/party-factory.d.ts.map +1 -1
  177. package/dist/src/parties/party-factory.js +30 -54
  178. package/dist/src/parties/party-factory.js.map +1 -1
  179. package/dist/src/parties/party-manager.d.ts +3 -4
  180. package/dist/src/parties/party-manager.d.ts.map +1 -1
  181. package/dist/src/parties/party-manager.js +9 -7
  182. package/dist/src/parties/party-manager.js.map +1 -1
  183. package/dist/src/parties/party-manager.test.js +16 -15
  184. package/dist/src/parties/party-manager.test.js.map +1 -1
  185. package/dist/src/pipeline/{pipeline.d.ts → feed-muxer.d.ts} +10 -15
  186. package/dist/src/pipeline/feed-muxer.d.ts.map +1 -0
  187. package/dist/src/pipeline/{pipeline.js → feed-muxer.js} +34 -44
  188. package/dist/src/pipeline/feed-muxer.js.map +1 -0
  189. package/dist/src/pipeline/feed-muxer.test.d.ts +2 -0
  190. package/dist/src/pipeline/feed-muxer.test.d.ts.map +1 -0
  191. package/dist/src/pipeline/{pipeline.test.js → feed-muxer.test.js} +20 -18
  192. package/dist/src/pipeline/feed-muxer.test.js.map +1 -0
  193. package/dist/src/pipeline/index.d.ts +2 -2
  194. package/dist/src/pipeline/index.d.ts.map +1 -1
  195. package/dist/src/pipeline/index.js +7 -3
  196. package/dist/src/pipeline/index.js.map +1 -1
  197. package/dist/src/pipeline/message-selector.d.ts +3 -3
  198. package/dist/src/pipeline/message-selector.d.ts.map +1 -1
  199. package/dist/src/pipeline/message-selector.js +30 -29
  200. package/dist/src/pipeline/message-selector.js.map +1 -1
  201. package/dist/src/pipeline/metadata-store.d.ts +5 -4
  202. package/dist/src/pipeline/metadata-store.d.ts.map +1 -1
  203. package/dist/src/pipeline/metadata-store.js +11 -5
  204. package/dist/src/pipeline/metadata-store.js.map +1 -1
  205. package/dist/src/pipeline/metadata-store.test.js +8 -4
  206. package/dist/src/pipeline/metadata-store.test.js.map +1 -1
  207. package/dist/src/pipeline/party-feed-provider.d.ts +2 -3
  208. package/dist/src/pipeline/party-feed-provider.d.ts.map +1 -1
  209. package/dist/src/pipeline/party-feed-provider.js +2 -17
  210. package/dist/src/pipeline/party-feed-provider.js.map +1 -1
  211. package/dist/src/pipeline/{party-core.d.ts → party-pipeline.d.ts} +26 -11
  212. package/dist/src/pipeline/party-pipeline.d.ts.map +1 -0
  213. package/dist/src/pipeline/{party-core.js → party-pipeline.js} +32 -31
  214. package/dist/src/pipeline/party-pipeline.js.map +1 -0
  215. package/dist/src/pipeline/party-pipeline.test.d.ts +2 -0
  216. package/dist/src/pipeline/party-pipeline.test.d.ts.map +1 -0
  217. package/dist/src/pipeline/{party-core.test.js → party-pipeline.test.js} +64 -46
  218. package/dist/src/pipeline/party-pipeline.test.js.map +1 -0
  219. package/dist/src/pipeline/party-processor.d.ts +21 -9
  220. package/dist/src/pipeline/party-processor.d.ts.map +1 -1
  221. package/dist/src/pipeline/party-processor.js +0 -8
  222. package/dist/src/pipeline/party-processor.js.map +1 -1
  223. package/dist/src/protocol/auth-plugin.d.ts +1 -1
  224. package/dist/src/protocol/auth-plugin.d.ts.map +1 -1
  225. package/dist/src/protocol/auth-plugin.js +1 -3
  226. package/dist/src/protocol/auth-plugin.js.map +1 -1
  227. package/dist/src/protocol/authenticator.d.ts +4 -4
  228. package/dist/src/protocol/authenticator.d.ts.map +1 -1
  229. package/dist/src/protocol/authenticator.js +12 -16
  230. package/dist/src/protocol/authenticator.js.map +1 -1
  231. package/dist/src/protocol/authenticator.test.js +1 -4
  232. package/dist/src/protocol/authenticator.test.js.map +1 -1
  233. package/dist/src/protocol/halo-recovery-plugin.d.ts +1 -1
  234. package/dist/src/protocol/halo-recovery-plugin.d.ts.map +1 -1
  235. package/dist/src/protocol/halo-recovery-plugin.js +1 -3
  236. package/dist/src/protocol/halo-recovery-plugin.js.map +1 -1
  237. package/dist/src/protocol/identity-credentials.d.ts +2 -2
  238. package/dist/src/protocol/identity-credentials.d.ts.map +1 -1
  239. package/dist/src/protocol/identity-credentials.js +4 -4
  240. package/dist/src/protocol/identity-credentials.js.map +1 -1
  241. package/dist/src/protocol/index.js +5 -1
  242. package/dist/src/protocol/index.js.map +1 -1
  243. package/dist/src/protocol/offline-invitation-plugin.d.ts +1 -1
  244. package/dist/src/protocol/offline-invitation-plugin.d.ts.map +1 -1
  245. package/dist/src/protocol/offline-invitation-plugin.js +1 -3
  246. package/dist/src/protocol/offline-invitation-plugin.js.map +1 -1
  247. package/dist/src/protocol/party-protocol-factory.d.ts +1 -14
  248. package/dist/src/protocol/party-protocol-factory.d.ts.map +1 -1
  249. package/dist/src/protocol/party-protocol-factory.js +2 -55
  250. package/dist/src/protocol/party-protocol-factory.js.map +1 -1
  251. package/dist/src/protocol/replicator-plugin.d.ts +7 -0
  252. package/dist/src/protocol/replicator-plugin.d.ts.map +1 -0
  253. package/dist/src/protocol/replicator-plugin.js +36 -0
  254. package/dist/src/protocol/replicator-plugin.js.map +1 -0
  255. package/dist/src/snapshots/index.js +5 -1
  256. package/dist/src/snapshots/index.js.map +1 -1
  257. package/dist/src/snapshots/snapshot-generator.d.ts +3 -3
  258. package/dist/src/snapshots/snapshot-generator.d.ts.map +1 -1
  259. package/dist/src/snapshots/snapshot-generator.js +13 -15
  260. package/dist/src/snapshots/snapshot-generator.js.map +1 -1
  261. package/dist/src/snapshots/snapshot-store.d.ts +3 -3
  262. package/dist/src/snapshots/snapshot-store.d.ts.map +1 -1
  263. package/dist/src/snapshots/snapshot-store.js +5 -5
  264. package/dist/src/snapshots/snapshot-store.js.map +1 -1
  265. package/dist/src/snapshots/snapshot-store.test.js +1 -1
  266. package/dist/src/snapshots/snapshot-store.test.js.map +1 -1
  267. package/dist/src/snapshots/snapshot.test.js +1 -1
  268. package/dist/src/snapshots/snapshot.test.js.map +1 -1
  269. package/dist/src/testing/benchmark.test.d.ts +2 -0
  270. package/dist/src/testing/benchmark.test.d.ts.map +1 -0
  271. package/dist/src/testing/benchmark.test.js +25 -0
  272. package/dist/src/testing/benchmark.test.js.map +1 -0
  273. package/dist/src/testing/index.js +5 -1
  274. package/dist/src/testing/index.js.map +1 -1
  275. package/dist/src/testing/testing-factories.d.ts +1 -1
  276. package/dist/src/testing/testing-factories.d.ts.map +1 -1
  277. package/dist/src/testing/testing-factories.js +2 -2
  278. package/dist/src/testing/testing-factories.js.map +1 -1
  279. package/dist/tsconfig.tsbuildinfo +1 -1
  280. package/package.json +19 -19
  281. package/src/api/index.ts +0 -5
  282. package/src/api/schema.test.ts +1 -2
  283. package/src/echo.test.ts +16 -5
  284. package/src/echo.ts +11 -20
  285. package/src/halo/contact-manager.ts +3 -2
  286. package/src/halo/halo-factory.ts +11 -23
  287. package/src/halo/halo-party.ts +22 -14
  288. package/src/halo/halo.test.ts +4 -3
  289. package/src/halo/halo.ts +2 -2
  290. package/src/halo/identity.ts +2 -2
  291. package/src/halo/party-opener.ts +5 -3
  292. package/src/halo/preferences.ts +10 -12
  293. package/src/index.ts +3 -2
  294. package/src/invitations/greeting-initiator.ts +10 -9
  295. package/src/invitations/greeting-protocol-provider.ts +5 -9
  296. package/src/invitations/greeting-responder.ts +15 -17
  297. package/src/invitations/halo-recovery-initiator.ts +4 -4
  298. package/src/invitations/invitation-descriptor.ts +1 -1
  299. package/src/invitations/invitation-factory.ts +8 -5
  300. package/src/invitations/offline-invitation-claimer.ts +8 -10
  301. package/src/{database → packlets/database}/data-mirror.test.ts +3 -3
  302. package/src/{database → packlets/database}/data-mirror.ts +1 -1
  303. package/src/{database → packlets/database}/data-service-host.ts +2 -1
  304. package/src/{database → packlets/database}/data-service-router.ts +0 -0
  305. package/src/{database → packlets/database}/database-backend.ts +7 -6
  306. package/src/{api → packlets/database}/database.test.ts +2 -1
  307. package/src/{api → packlets/database}/database.ts +3 -1
  308. package/src/{api → packlets/database}/entity.ts +1 -1
  309. package/src/{database → packlets/database}/index.ts +5 -0
  310. package/src/{database → packlets/database}/item-demuxer.test.ts +21 -19
  311. package/src/{database → packlets/database}/item-demuxer.ts +10 -9
  312. package/src/{database → packlets/database}/item-manager.test.ts +0 -0
  313. package/src/{database → packlets/database}/item-manager.ts +5 -3
  314. package/src/{api → packlets/database}/item.ts +2 -2
  315. package/src/{api → packlets/database}/link.ts +1 -1
  316. package/src/{api → packlets/database}/selection/index.ts +0 -0
  317. package/src/{api → packlets/database}/selection/queries.ts +14 -18
  318. package/src/{api → packlets/database}/selection/result.ts +0 -0
  319. package/src/{api → packlets/database}/selection/selection.test.ts +4 -12
  320. package/src/{api → packlets/database}/selection/selection.ts +1 -7
  321. package/src/{api → packlets/database}/selection/util.ts +0 -0
  322. package/src/{database → packlets/database}/testing.ts +4 -7
  323. package/src/{database → packlets/database}/timeframe-clock.ts +4 -0
  324. package/src/{errors.ts → packlets/errors/index.ts} +0 -0
  325. package/src/parties/data-party.test.ts +58 -25
  326. package/src/parties/data-party.ts +48 -20
  327. package/src/parties/party-factory.ts +40 -84
  328. package/src/parties/party-manager.test.ts +24 -15
  329. package/src/parties/party-manager.ts +10 -6
  330. package/src/pipeline/{pipeline.test.ts → feed-muxer.test.ts} +23 -19
  331. package/src/pipeline/{pipeline.ts → feed-muxer.ts} +39 -55
  332. package/src/pipeline/index.ts +2 -2
  333. package/src/pipeline/message-selector.ts +32 -35
  334. package/src/pipeline/metadata-store.test.ts +8 -4
  335. package/src/pipeline/metadata-store.ts +12 -6
  336. package/src/pipeline/party-feed-provider.ts +3 -16
  337. package/src/pipeline/{party-core.test.ts → party-pipeline.test.ts} +67 -48
  338. package/src/pipeline/{party-core.ts → party-pipeline.ts} +59 -31
  339. package/src/pipeline/party-processor.ts +23 -15
  340. package/src/protocol/auth-plugin.ts +1 -3
  341. package/src/protocol/authenticator.test.ts +1 -4
  342. package/src/protocol/authenticator.ts +33 -33
  343. package/src/protocol/halo-recovery-plugin.ts +4 -6
  344. package/src/protocol/identity-credentials.ts +4 -4
  345. package/src/protocol/offline-invitation-plugin.ts +4 -6
  346. package/src/protocol/party-protocol-factory.ts +3 -56
  347. package/src/protocol/replicator-plugin.ts +37 -0
  348. package/src/snapshots/snapshot-generator.ts +14 -18
  349. package/src/snapshots/snapshot-store.test.ts +1 -1
  350. package/src/snapshots/snapshot-store.ts +5 -6
  351. package/src/snapshots/snapshot.test.ts +1 -1
  352. package/src/testing/benchmark.test.ts +30 -0
  353. package/src/testing/testing-factories.ts +3 -3
  354. package/dist/src/api/database.d.ts.map +0 -1
  355. package/dist/src/api/database.js.map +0 -1
  356. package/dist/src/api/database.test.d.ts.map +0 -1
  357. package/dist/src/api/database.test.js.map +0 -1
  358. package/dist/src/api/entity.d.ts.map +0 -1
  359. package/dist/src/api/entity.js.map +0 -1
  360. package/dist/src/api/item.d.ts.map +0 -1
  361. package/dist/src/api/item.js.map +0 -1
  362. package/dist/src/api/link.d.ts.map +0 -1
  363. package/dist/src/api/link.js.map +0 -1
  364. package/dist/src/api/selection/index.d.ts.map +0 -1
  365. package/dist/src/api/selection/index.js.map +0 -1
  366. package/dist/src/api/selection/queries.d.ts.map +0 -1
  367. package/dist/src/api/selection/queries.js.map +0 -1
  368. package/dist/src/api/selection/result.d.ts.map +0 -1
  369. package/dist/src/api/selection/result.js.map +0 -1
  370. package/dist/src/api/selection/selection.d.ts.map +0 -1
  371. package/dist/src/api/selection/selection.js.map +0 -1
  372. package/dist/src/api/selection/selection.test.d.ts.map +0 -1
  373. package/dist/src/api/selection/selection.test.js.map +0 -1
  374. package/dist/src/api/selection/util.d.ts.map +0 -1
  375. package/dist/src/api/selection/util.js.map +0 -1
  376. package/dist/src/database/data-mirror.d.ts.map +0 -1
  377. package/dist/src/database/data-mirror.js.map +0 -1
  378. package/dist/src/database/data-mirror.test.d.ts.map +0 -1
  379. package/dist/src/database/data-mirror.test.js.map +0 -1
  380. package/dist/src/database/data-service-host.d.ts.map +0 -1
  381. package/dist/src/database/data-service-host.js.map +0 -1
  382. package/dist/src/database/data-service-router.d.ts.map +0 -1
  383. package/dist/src/database/data-service-router.js.map +0 -1
  384. package/dist/src/database/database-backend.d.ts.map +0 -1
  385. package/dist/src/database/database-backend.js.map +0 -1
  386. package/dist/src/database/index.d.ts.map +0 -1
  387. package/dist/src/database/index.js.map +0 -1
  388. package/dist/src/database/item-demuxer.d.ts.map +0 -1
  389. package/dist/src/database/item-demuxer.js.map +0 -1
  390. package/dist/src/database/item-demuxer.test.d.ts.map +0 -1
  391. package/dist/src/database/item-demuxer.test.js.map +0 -1
  392. package/dist/src/database/item-manager.d.ts.map +0 -1
  393. package/dist/src/database/item-manager.js.map +0 -1
  394. package/dist/src/database/item-manager.test.d.ts.map +0 -1
  395. package/dist/src/database/item-manager.test.js.map +0 -1
  396. package/dist/src/database/testing.d.ts.map +0 -1
  397. package/dist/src/database/testing.js.map +0 -1
  398. package/dist/src/database/timeframe-clock.d.ts.map +0 -1
  399. package/dist/src/database/timeframe-clock.js.map +0 -1
  400. package/dist/src/errors.d.ts.map +0 -1
  401. package/dist/src/errors.js.map +0 -1
  402. package/dist/src/pipeline/party-core.d.ts.map +0 -1
  403. package/dist/src/pipeline/party-core.js.map +0 -1
  404. package/dist/src/pipeline/party-core.test.d.ts +0 -2
  405. package/dist/src/pipeline/party-core.test.d.ts.map +0 -1
  406. package/dist/src/pipeline/party-core.test.js.map +0 -1
  407. package/dist/src/pipeline/pipeline.d.ts.map +0 -1
  408. package/dist/src/pipeline/pipeline.js.map +0 -1
  409. package/dist/src/pipeline/pipeline.test.d.ts +0 -2
  410. package/dist/src/pipeline/pipeline.test.d.ts.map +0 -1
  411. package/dist/src/pipeline/pipeline.test.js.map +0 -1
@@ -40,14 +40,15 @@ const log = (0, debug_1.default)('dxos:echo:parties:party-manager:test');
40
40
  */
41
41
  const setup = async () => {
42
42
  const keyring = new credentials_1.Keyring();
43
- const metadataStore = new pipeline_1.MetadataStore((0, random_access_multi_storage_1.createStorage)('metadata', random_access_multi_storage_1.StorageType.RAM));
44
- const feedStore = new feed_store_1.FeedStore((0, random_access_multi_storage_1.createStorage)('feed', random_access_multi_storage_1.StorageType.RAM), { valueEncoding: echo_protocol_1.codec });
45
- const snapshotStore = new snapshots_1.SnapshotStore((0, random_access_multi_storage_1.createStorage)('snapshots', random_access_multi_storage_1.StorageType.RAM));
43
+ const storage = (0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM);
44
+ const snapshotStore = new snapshots_1.SnapshotStore(storage.directory('snapshots'));
45
+ const metadataStore = new pipeline_1.MetadataStore(storage.directory('metadata'));
46
+ const feedStore = new feed_store_1.FeedStore(storage.directory('feed'), { valueEncoding: echo_protocol_1.codec });
46
47
  const modelFactory = new model_factory_1.ModelFactory().registerModel(object_model_1.ObjectModel);
47
48
  const networkManager = new network_manager_1.NetworkManager();
48
49
  const feedProviderFactory = (partyKey) => new pipeline_1.PartyFeedProvider(metadataStore, keyring, feedStore, partyKey);
49
50
  const identity = await (0, identity_credentials_1.createTestIdentityCredentials)(keyring);
50
- const partyFactory = new party_factory_1.PartyFactory(() => identity, networkManager, modelFactory, snapshotStore, feedProviderFactory, {
51
+ const partyFactory = new party_factory_1.PartyFactory(() => identity, networkManager, modelFactory, snapshotStore, feedProviderFactory, metadataStore, {
51
52
  writeLogger: (0, testing_1.messageLogger)('<<<'),
52
53
  readLogger: (0, testing_1.messageLogger)('>>>')
53
54
  });
@@ -102,23 +103,20 @@ describe('Party manager', () => {
102
103
  });
103
104
  const feedStream = (0, feed_store_1.createWritableFeedStream)(feed);
104
105
  feedStream.write((0, credentials_1.createPartyGenesisMessage)(keyring, partyKey, feedKey.publicKey, identityKey));
105
- await partyManager.addParty(partyKey.publicKey, [{
106
- type: credentials_1.KeyType.FEED,
107
- publicKey: crypto_1.PublicKey.from(feed.key)
108
- }]);
106
+ await partyManager.addParty(partyKey.publicKey, [crypto_1.PublicKey.from(feed.key)]);
109
107
  await update;
110
108
  });
111
109
  (0, mocha_1.it)('Create from cold start', async () => {
112
110
  const storage = (0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM);
113
- const feedStore = new feed_store_1.FeedStore(storage, { valueEncoding: echo_protocol_1.codec });
111
+ const feedStore = new feed_store_1.FeedStore(storage.directory('feed'), { valueEncoding: echo_protocol_1.codec });
114
112
  const keyring = new credentials_1.Keyring();
115
- const metadataStore = new pipeline_1.MetadataStore((0, random_access_multi_storage_1.createStorage)('metadata', random_access_multi_storage_1.StorageType.RAM));
113
+ const snapshotStore = new snapshots_1.SnapshotStore(storage.directory('snapshots'));
114
+ const metadataStore = new pipeline_1.MetadataStore(storage.directory('metadata'));
116
115
  const modelFactory = new model_factory_1.ModelFactory().registerModel(object_model_1.ObjectModel);
117
- const snapshotStore = new snapshots_1.SnapshotStore((0, random_access_multi_storage_1.createStorage)('snapshots', random_access_multi_storage_1.StorageType.RAM));
118
116
  const networkManager = new network_manager_1.NetworkManager();
119
117
  const feedProviderFactory = (partyKey) => new pipeline_1.PartyFeedProvider(metadataStore, keyring, feedStore, partyKey);
120
118
  const identity = await (0, identity_credentials_1.createTestIdentityCredentials)(keyring);
121
- const partyFactory = new party_factory_1.PartyFactory(() => identity, networkManager, modelFactory, snapshotStore, feedProviderFactory);
119
+ const partyFactory = new party_factory_1.PartyFactory(() => identity, networkManager, modelFactory, snapshotStore, feedProviderFactory, metadataStore);
122
120
  const partyManager = new party_manager_1.PartyManager(metadataStore, snapshotStore, () => identity, partyFactory);
123
121
  /* TODO(telackey): Injecting "raw" Parties into the feeds behind the scenes seems fishy to me, as it writes the
124
122
  * Party messages in a slightly different way than the code inside PartyFactory does, and so could easily diverge
@@ -139,15 +137,18 @@ describe('Party manager', () => {
139
137
  const feedKey = keyring.getFullKey(feed.key);
140
138
  (0, assert_1.default)(feedKey);
141
139
  const feedStream = (0, feed_store_1.createWritableFeedStream)(feed);
142
- feedStream.write({ halo: (0, credentials_1.createPartyGenesisMessage)(keyring, partyKey, feedKey.publicKey, identity.identityKey) });
143
140
  feedStream.write({
141
+ timeframe: new echo_protocol_1.Timeframe(),
142
+ halo: (0, credentials_1.createPartyGenesisMessage)(keyring, partyKey, feedKey.publicKey, identity.identityKey)
143
+ });
144
+ feedStream.write({
145
+ timeframe: new echo_protocol_1.Timeframe(),
144
146
  echo: (0, debug_2.checkType)({
145
147
  itemId: 'foo',
146
148
  genesis: {
147
149
  itemType: data_party_1.PARTY_ITEM_TYPE,
148
150
  modelType: object_model_1.ObjectModel.meta.type
149
- },
150
- timeframe: new echo_protocol_1.Timeframe()
151
+ }
151
152
  })
152
153
  });
153
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"party-manager.test.js","sourceRoot":"","sources":["../../../src/parties/party-manager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"party-manager.test.js","sourceRoot":"","sources":["../../../src/parties/party-manager.test.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,24 @@
1
- /// <reference types="node" />
2
- import { Readable } from 'stream';
3
1
  import { Event } from '@dxos/async';
4
2
  import { Message as HaloMessage } from '@dxos/credentials';
5
- import { PublicKey } from '@dxos/crypto';
6
3
  import { EchoEnvelope, FeedMessage, FeedStoreIterator, FeedWriter } from '@dxos/echo-protocol';
7
- import { TimeframeClock } from '../database';
8
- import { PartyProcessor } from './party-processor';
4
+ import { EchoProcessor, TimeframeClock } from '../packlets/database';
5
+ import { CredentialProcessor, PartyStateProvider } from './party-processor';
9
6
  interface Options {
10
7
  readLogger?: (msg: any) => void;
11
8
  writeLogger?: (msg: any) => void;
12
9
  }
13
10
  /**
14
11
  * Manages the inbound and outbound message streams for an individual party.
12
+ * Reads messages from individual feeds and splits them into ECHO and HALO streams.
15
13
  */
16
- export declare class Pipeline {
14
+ export declare class FeedMuxer {
17
15
  private readonly _partyProcessor;
18
16
  private readonly _feedStorIterator;
19
17
  private readonly _timeframeClock;
20
18
  private readonly _feedWriter?;
21
19
  private readonly _options;
22
20
  private readonly _errors;
23
- /**
24
- * Messages to be consumed from the pipeline (e.g., mutations to model).
25
- */
26
- private _inboundEchoStream;
21
+ private _isOpen;
27
22
  /**
28
23
  * Messages to write into pipeline (e.g., mutations from model).
29
24
  */
@@ -32,6 +27,7 @@ export declare class Pipeline {
32
27
  * Halo message stream to write into pipeline.
33
28
  */
34
29
  private _outboundHaloStream;
30
+ private _echoProcessor;
35
31
  /**
36
32
  * @param _partyProcessor Processes HALO messages to update party state.
37
33
  * @param _feedStorIterator Inbound messages from the feed store.
@@ -39,14 +35,13 @@ export declare class Pipeline {
39
35
  * @param _feedWriter Outbound messages to the writeStream feed.
40
36
  * @param _options
41
37
  */
42
- constructor(_partyProcessor: PartyProcessor, _feedStorIterator: FeedStoreIterator, _timeframeClock: TimeframeClock, _feedWriter?: FeedWriter<FeedMessage> | undefined, _options?: Options);
43
- get partyKey(): PublicKey;
38
+ constructor(_partyProcessor: CredentialProcessor & PartyStateProvider, _feedStorIterator: FeedStoreIterator, _timeframeClock: TimeframeClock, _feedWriter?: FeedWriter<FeedMessage> | undefined, _options?: Options);
44
39
  get isOpen(): boolean;
45
40
  get readOnly(): boolean;
46
- get inboundEchoStream(): Readable | undefined;
47
41
  get outboundEchoStream(): FeedWriter<EchoEnvelope> | undefined;
48
42
  get outboundHaloStream(): FeedWriter<HaloMessage> | undefined;
49
43
  get errors(): Event<Error>;
44
+ setEchoProcessor(processor: EchoProcessor): void;
50
45
  /**
51
46
  * Create inbound and outbound pipielines.
52
47
  * https://nodejs.org/api/stream.html#stream_stream_pipeline_source_transforms_destination_callback
@@ -57,11 +52,11 @@ export declare class Pipeline {
57
52
  * Transform(dxos.echo.IEchoEnvelope => dxos.IFeedMessage): update clock
58
53
  * Feed
59
54
  */
60
- open(): Promise<[NodeJS.ReadableStream, FeedWriter<EchoEnvelope>?]>;
55
+ open(): Promise<FeedWriter<EchoEnvelope> | undefined>;
61
56
  /**
62
57
  * Close all streams.
63
58
  */
64
59
  close(): Promise<void>;
65
60
  }
66
61
  export {};
67
- //# sourceMappingURL=pipeline.d.ts.map
62
+ //# sourceMappingURL=feed-muxer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feed-muxer.d.ts","sourceRoot":"","sources":["../../../src/pipeline/feed-muxer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EACW,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EACzE,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,UAAU,OAAO;IACf,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAA;IAC/B,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAA;CACjC;AAID;;;GAGG;AACH,qBAAa,SAAS;IAyBlB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IA5B3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAE9C,OAAO,CAAC,OAAO,CAAS;IAExB;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAuC;IAElE;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAsC;IAEjE,OAAO,CAAC,cAAc,CAA2B;IAEjD;;;;;;OAMG;gBAEgB,eAAe,EAAE,mBAAmB,GAAG,kBAAkB,EACzD,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,cAAc,EAC/B,WAAW,CAAC,qCAAyB,EACrC,QAAQ,GAAE,OAAY;IAmBzC,IAAI,MAAM,YAET;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,kBAAkB,yCAErB;IAED,IAAI,kBAAkB,wCAErB;IAED,IAAI,MAAM,iBAET;IAED,gBAAgB,CAAE,SAAS,EAAE,aAAa;IAI1C;;;;;;;;;OASG;IACG,IAAI,IAAK,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IA8D5D;;OAEG;IAEG,KAAK;CAQZ"}
@@ -6,20 +6,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
6
6
  return (mod && mod.__esModule) ? mod : { "default": mod };
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Pipeline = void 0;
9
+ exports.FeedMuxer = void 0;
10
10
  const assert_1 = __importDefault(require("assert"));
11
11
  const debug_1 = __importDefault(require("debug"));
12
12
  const async_1 = require("@dxos/async");
13
13
  const crypto_1 = require("@dxos/crypto");
14
14
  const debug_2 = require("@dxos/debug");
15
15
  const echo_protocol_1 = require("@dxos/echo-protocol");
16
- const feed_store_1 = require("@dxos/feed-store");
17
16
  const util_1 = require("@dxos/util");
18
17
  const log = (0, debug_1.default)('dxos:echo-db:pipeline');
19
18
  /**
20
19
  * Manages the inbound and outbound message streams for an individual party.
20
+ * Reads messages from individual feeds and splits them into ECHO and HALO streams.
21
21
  */
22
- class Pipeline {
22
+ class FeedMuxer {
23
23
  /**
24
24
  * @param _partyProcessor Processes HALO messages to update party state.
25
25
  * @param _feedStorIterator Inbound messages from the feed store.
@@ -34,19 +34,29 @@ class Pipeline {
34
34
  this._feedWriter = _feedWriter;
35
35
  this._options = _options;
36
36
  this._errors = new async_1.Event();
37
- }
38
- get partyKey() {
39
- return this._partyProcessor.partyKey;
37
+ this._isOpen = false;
38
+ if (this._feedWriter) {
39
+ const loggingWriter = (0, echo_protocol_1.mapFeedWriter)(async (msg) => {
40
+ var _a, _b;
41
+ (_b = (_a = this._options).writeLogger) === null || _b === void 0 ? void 0 : _b.call(_a, msg);
42
+ return msg;
43
+ }, this._feedWriter);
44
+ this._outboundEchoStream = (0, echo_protocol_1.mapFeedWriter)(async (message) => ({
45
+ timeframe: this._timeframeClock.timeframe,
46
+ echo: message
47
+ }), loggingWriter);
48
+ this._outboundHaloStream = (0, echo_protocol_1.mapFeedWriter)(async (message) => ({
49
+ timeframe: this._timeframeClock.timeframe,
50
+ halo: message
51
+ }), loggingWriter);
52
+ }
40
53
  }
41
54
  get isOpen() {
42
- return this._inboundEchoStream !== undefined;
55
+ return this._isOpen;
43
56
  }
44
57
  get readOnly() {
45
58
  return this._outboundEchoStream === undefined;
46
59
  }
47
- get inboundEchoStream() {
48
- return this._inboundEchoStream;
49
- }
50
60
  get outboundEchoStream() {
51
61
  return this._outboundEchoStream;
52
62
  }
@@ -56,6 +66,9 @@ class Pipeline {
56
66
  get errors() {
57
67
  return this._errors;
58
68
  }
69
+ setEchoProcessor(processor) {
70
+ this._echoProcessor = processor;
71
+ }
59
72
  /**
60
73
  * Create inbound and outbound pipielines.
61
74
  * https://nodejs.org/api/stream.html#stream_stream_pipeline_source_transforms_destination_callback
@@ -67,8 +80,7 @@ class Pipeline {
67
80
  * Feed
68
81
  */
69
82
  async open() {
70
- const { readLogger, writeLogger } = this._options;
71
- this._inboundEchoStream = (0, feed_store_1.createReadable)();
83
+ const { readLogger } = this._options;
72
84
  // This will exit cleanly once FeedStoreIterator is closed.
73
85
  setImmediate(async () => {
74
86
  var _a;
@@ -89,19 +101,18 @@ class Pipeline {
89
101
  // ECHO
90
102
  //
91
103
  if (message.echo) {
92
- this._timeframeClock.updateTimeframe(crypto_1.PublicKey.from(block.key), block.seq);
93
104
  const memberKey = this._partyProcessor.getFeedOwningMember(crypto_1.PublicKey.from(block.key));
94
105
  (0, assert_1.default)(memberKey, `Ownership of feed ${(0, crypto_1.keyToString)(block.key)} could not be determined.`);
95
106
  // Validate messge.
96
107
  const { itemId } = message.echo;
97
108
  if (itemId) {
98
- (0, assert_1.default)(this._inboundEchoStream);
99
- this._inboundEchoStream.push((0, debug_2.checkType)({
109
+ (0, assert_1.default)(this._echoProcessor);
110
+ await this._echoProcessor((0, debug_2.checkType)({
100
111
  meta: {
101
112
  seq: block.seq,
102
113
  feedKey: block.key,
103
114
  memberKey,
104
- timeframe: (_a = message.echo.timeframe) !== null && _a !== void 0 ? _a : new echo_protocol_1.Timeframe()
115
+ timeframe: (_a = message.timeframe) !== null && _a !== void 0 ? _a : new echo_protocol_1.Timeframe()
105
116
  },
106
117
  data: message.echo
107
118
  }));
@@ -111,6 +122,7 @@ class Pipeline {
111
122
  // TODO(burdon): Can we throw and have the pipeline log (without breaking the stream)?
112
123
  log(`Skipping invalid message: ${JSON.stringify(message, util_1.jsonReplacer)}`);
113
124
  }
125
+ this._timeframeClock.updateTimeframe(crypto_1.PublicKey.from(block.key), block.seq);
114
126
  }
115
127
  catch (err) {
116
128
  console.error('Error in message processing.');
@@ -118,28 +130,7 @@ class Pipeline {
118
130
  }
119
131
  }
120
132
  });
121
- //
122
- // Processes outbound messages (piped to the feed).
123
- // Sets the current timeframe.
124
- //
125
- if (this._feedWriter) {
126
- const loggingWriter = (0, echo_protocol_1.mapFeedWriter)(async (msg) => {
127
- writeLogger === null || writeLogger === void 0 ? void 0 : writeLogger(msg);
128
- return msg;
129
- }, this._feedWriter);
130
- this._outboundEchoStream = (0, echo_protocol_1.mapFeedWriter)(async (message) => ({
131
- echo: {
132
- ...message,
133
- timeframe: this._timeframeClock.timeframe
134
- }
135
- }), loggingWriter);
136
- this._outboundHaloStream =
137
- (0, echo_protocol_1.mapFeedWriter)(async (message) => ({ halo: message }), loggingWriter);
138
- }
139
- return [
140
- this._inboundEchoStream,
141
- this._outboundEchoStream
142
- ];
133
+ return this._outboundEchoStream;
143
134
  }
144
135
  /**
145
136
  * Close all streams.
@@ -147,12 +138,11 @@ class Pipeline {
147
138
  // TODO(burdon): Create test that all streams are closed cleanly.
148
139
  async close() {
149
140
  await this._feedStorIterator.close();
150
- if (this._inboundEchoStream) {
151
- this._inboundEchoStream.destroy();
152
- this._inboundEchoStream = undefined;
153
- }
154
141
  this._outboundEchoStream = undefined;
142
+ this._outboundHaloStream = undefined;
143
+ this._echoProcessor = undefined;
144
+ this._isOpen = false;
155
145
  }
156
146
  }
157
- exports.Pipeline = Pipeline;
158
- //# sourceMappingURL=pipeline.js.map
147
+ exports.FeedMuxer = FeedMuxer;
148
+ //# sourceMappingURL=feed-muxer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feed-muxer.js","sourceRoot":"","sources":["../../../src/pipeline/feed-muxer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=feed-muxer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feed-muxer.test.d.ts","sourceRoot":"","sources":["../../../src/pipeline/feed-muxer.test.ts"],"names":[],"mappings":""}
@@ -17,15 +17,15 @@ const feed_store_1 = require("@dxos/feed-store");
17
17
  const model_factory_1 = require("@dxos/model-factory");
18
18
  const random_access_multi_storage_1 = require("@dxos/random-access-multi-storage");
19
19
  const util_1 = require("@dxos/util");
20
- const database_1 = require("../database");
20
+ const database_1 = require("../packlets/database");
21
+ const feed_muxer_1 = require("./feed-muxer");
21
22
  const party_processor_1 = require("./party-processor");
22
- const pipeline_1 = require("./pipeline");
23
23
  const log = (0, debug_1.default)('dxos:echo:pipeline:test');
24
24
  // TODO(burdon): Test read-only.
25
- describe('pipeline', () => {
25
+ describe('FeedMuxer', () => {
26
26
  (0, mocha_1.it)('streams', async () => {
27
27
  const storage = (0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM);
28
- const feedStore = new feed_store_1.FeedStore(storage, { valueEncoding: echo_protocol_1.codec });
28
+ const feedStore = new feed_store_1.FeedStore(storage.directory('feed'), { valueEncoding: echo_protocol_1.codec });
29
29
  const feedKeys = [];
30
30
  const feedSelector = descriptor => !!feedKeys.find(key => descriptor.key.equals(key));
31
31
  const feedReadStream = new echo_protocol_1.FeedStoreIterator(feedSelector, () => 0, new echo_protocol_1.Timeframe());
@@ -54,19 +54,19 @@ describe('pipeline', () => {
54
54
  seq: 0
55
55
  }
56
56
  });
57
- const pipeline = new pipeline_1.Pipeline(partyProcessor, feedReadStream, new database_1.TimeframeClock());
58
- const [readStream] = await pipeline.open();
59
- (0, expect_1.default)(readStream).toBeTruthy();
60
57
  //
61
58
  // Pipeline consumer.
62
59
  // TODO(burdon): Check order (re-use feed-store-iterator test logic).
63
60
  //
64
61
  const numMessages = 5;
65
62
  const [counter, updateCounter] = (0, async_1.latch)(numMessages);
66
- readStream.pipe((0, feed_store_1.createWritable)(async (message) => {
63
+ const echoProcessor = async (message) => {
67
64
  log('Processed:', JSON.stringify(message, util_1.jsonReplacer, 2));
68
65
  updateCounter();
69
- }));
66
+ };
67
+ const pipeline = new feed_muxer_1.FeedMuxer(partyProcessor, feedReadStream, new database_1.TimeframeClock());
68
+ pipeline.setEchoProcessor(echoProcessor);
69
+ await pipeline.open();
70
70
  //
71
71
  // Write directly to feed store.
72
72
  // TODO(burdon): Write to multiple feeds.
@@ -80,7 +80,7 @@ describe('pipeline', () => {
80
80
  });
81
81
  (0, mocha_1.it)('writing', async () => {
82
82
  const storage = (0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM);
83
- const feedStore = new feed_store_1.FeedStore(storage, { valueEncoding: echo_protocol_1.codec });
83
+ const feedStore = new feed_store_1.FeedStore(storage.directory('feed'), { valueEncoding: echo_protocol_1.codec });
84
84
  const feedReadStream = new echo_protocol_1.FeedStoreIterator(() => true, () => 0, new echo_protocol_1.Timeframe());
85
85
  const { publicKey, secretKey } = (0, crypto_1.createKeyPair)();
86
86
  const descriptor = await feedStore.openReadWriteFeed(crypto_1.PublicKey.from(publicKey), secretKey);
@@ -95,10 +95,13 @@ describe('pipeline', () => {
95
95
  type: credentials_1.KeyType.FEED
96
96
  });
97
97
  const partyProcessor = new party_processor_1.PartyProcessor(partyKey.publicKey);
98
- const pipeline = new pipeline_1.Pipeline(partyProcessor, feedReadStream, new database_1.TimeframeClock(), (0, echo_protocol_1.createFeedWriter)(feed));
98
+ const echoMessages = [];
99
+ const echoProcessor = async (msg) => {
100
+ echoMessages.push(msg);
101
+ };
102
+ const pipeline = new feed_muxer_1.FeedMuxer(partyProcessor, feedReadStream, new database_1.TimeframeClock(), (0, echo_protocol_1.createFeedWriter)(feed));
103
+ pipeline.setEchoProcessor(echoProcessor);
99
104
  await pipeline.open();
100
- const writable = new feed_store_1.WritableArray();
101
- pipeline.inboundEchoStream.pipe(writable);
102
105
  await pipeline.outboundHaloStream.write((0, credentials_1.createPartyGenesisMessage)(keyring, partyKey, feedKey.publicKey, identityKey));
103
106
  await (0, async_1.waitForCondition)(() => !partyProcessor.genesisRequired);
104
107
  await pipeline.outboundEchoStream.write({
@@ -107,15 +110,14 @@ describe('pipeline', () => {
107
110
  itemType: 'foo'
108
111
  }
109
112
  });
110
- await (0, async_1.waitForCondition)(() => writable.objects.length === 1);
113
+ await (0, async_1.waitForCondition)(() => echoMessages.length === 1);
111
114
  (0, expect_1.default)(partyProcessor.genesisRequired).toEqual(false);
112
- (0, expect_1.default)(writable.objects[0].data).toEqual({
115
+ (0, expect_1.default)(echoMessages[0].data).toEqual({
113
116
  itemId: '123',
114
117
  genesis: {
115
118
  itemType: 'foo'
116
- },
117
- timeframe: expect_1.default.any(echo_protocol_1.Timeframe)
119
+ }
118
120
  });
119
121
  });
120
122
  });
121
- //# sourceMappingURL=pipeline.test.js.map
123
+ //# sourceMappingURL=feed-muxer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feed-muxer.test.js","sourceRoot":"","sources":["../../../src/pipeline/feed-muxer.test.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;AAEF,kDAA0B;AAC1B,oDAA4B;AAC5B,iCAAmC;AAEnC,uCAAsD;AACtD,mDAAgF;AAChF,yCAAkE;AAClE,uDAAuH;AACvH,iDAAuE;AACvE,uDAAgE;AAChE,mFAA+E;AAC/E,qCAA0C;AAE1C,mDAAsD;AACtD,6CAAyC;AACzC,uDAAmD;AAEnD,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,yBAAyB,CAAC,CAAC;AAE7C,gCAAgC;AAChC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAA,UAAI,EAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,OAAO,GAAG,IAAA,2CAAa,EAAC,EAAE,EAAE,yCAAW,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,qBAAK,EAAE,CAAC,CAAC;QACrF,MAAM,QAAQ,GAAiB,EAAE,CAAC;QAClC,MAAM,YAAY,GAAiB,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACpG,MAAM,cAAc,GAAG,IAAI,iCAAiB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,yBAAS,EAAE,CAAC,CAAC;QAErF,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAA,sBAAa,GAAE,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,kBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QAC3F,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAA,qCAAwB,EAAC,IAAI,CAAC,CAAC;QAEnD,EAAE;QACF,mBAAmB;QACnB,EAAE;QACF,MAAM,OAAO,GAAG,IAAI,qBAAO,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,qBAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,qBAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;YACzC,SAAS,EAAE,kBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,qBAAO,CAAC,IAAI;SACnB,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,cAAc,CAAC,cAAc,CAAC;YAClC,IAAI,EAAE,IAAA,uCAAyB,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;YAClF,IAAI,EAAE;gBACJ,OAAO,EAAE,OAAO,CAAC,SAAS;gBAC1B,GAAG,EAAE,CAAC;aACP;SACF,CAAC,CAAC;QAEH,EAAE;QACF,qBAAqB;QACrB,qEAAqE;QACrE,EAAE;QACF,MAAM,WAAW,GAAG,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,IAAA,aAAK,EAAC,WAAW,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,KAAK,EAAE,OAAoB,EAAE,EAAE;YACnD,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,mBAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5D,aAAa,EAAE,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,sBAAS,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,yBAAc,EAAE,CAAC,CAAC;QACrF,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEtB,EAAE;QACF,gCAAgC;QAChC,yCAAyC;QACzC,EAAE;QAEF,MAAM,MAAM,GAAG,IAAA,iBAAQ,GAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,IAAA,yCAAyB,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC5B;QAED,MAAM,OAAO,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,IAAA,UAAI,EAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACzB,MAAM,OAAO,GAAG,IAAA,2CAAa,EAAC,EAAE,EAAE,yCAAW,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,qBAAK,EAAE,CAAC,CAAC;QACrF,MAAM,cAAc,GAAG,IAAI,iCAAiB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,yBAAS,EAAE,CAAC,CAAC;QAEnF,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAA,sBAAa,GAAE,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,kBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QAC3F,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAE7C,MAAM,OAAO,GAAG,IAAI,qBAAO,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,qBAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,qBAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;YACzC,SAAS,EAAE,kBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,qBAAO,CAAC,IAAI;SACnB,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE9D,MAAM,YAAY,GAAkB,EAAE,CAAC;QACvC,MAAM,aAAa,GAAG,KAAK,EAAE,GAAgB,EAAE,EAAE;YAC/C,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,sBAAS,CAC5B,cAAc,EACd,cAAc,EACd,IAAI,yBAAc,EAAE,EACpB,IAAA,gCAAgB,EAAC,IAAI,CAAC,CACvB,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEtB,MAAM,QAAQ,CAAC,kBAAmB,CAAC,KAAK,CAAC,IAAA,uCAAyB,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;QACvH,MAAM,IAAA,wBAAgB,EAAC,GAAG,EAAE,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAE9D,MAAM,QAAQ,CAAC,kBAAmB,CAAC,KAAK,CAAC;YACvC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,QAAQ,EAAE,KAAK;aAChB;SACF,CAAC,CAAC;QAEH,MAAM,IAAA,wBAAgB,EAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAExD,IAAA,gBAAM,EAAC,cAAc,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtD,IAAA,gBAAM,EAAE,YAAY,CAAC,CAAC,CAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC5C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,QAAQ,EAAE,KAAK;aAChB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -2,7 +2,7 @@ export * from './message-selector';
2
2
  export * from './party-feed-provider';
3
3
  export * from './party-processor';
4
4
  export * from '../protocol/party-protocol-factory';
5
- export * from './pipeline';
6
- export * from './party-core';
5
+ export * from './feed-muxer';
6
+ export * from './party-pipeline';
7
7
  export * from './metadata-store';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pipeline/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oCAAoC,CAAC;AACnD,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pipeline/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oCAAoC,CAAC;AACnD,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
@@ -4,7 +4,11 @@
4
4
  //
5
5
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
6
  if (k2 === undefined) k2 = k;
7
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
8
12
  }) : (function(o, m, k, k2) {
9
13
  if (k2 === undefined) k2 = k;
10
14
  o[k2] = m[k];
@@ -17,7 +21,7 @@ __exportStar(require("./message-selector"), exports);
17
21
  __exportStar(require("./party-feed-provider"), exports);
18
22
  __exportStar(require("./party-processor"), exports);
19
23
  __exportStar(require("../protocol/party-protocol-factory"), exports);
20
- __exportStar(require("./pipeline"), exports);
21
- __exportStar(require("./party-core"), exports);
24
+ __exportStar(require("./feed-muxer"), exports);
25
+ __exportStar(require("./party-pipeline"), exports);
22
26
  __exportStar(require("./metadata-store"), exports);
23
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pipeline/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,qDAAmC;AACnC,wDAAsC;AACtC,oDAAkC;AAClC,qEAAmD;AACnD,6CAA2B;AAC3B,+CAA6B;AAC7B,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pipeline/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,qDAAmC;AACnC,wDAAsC;AACtC,oDAAkC;AAClC,qEAAmD;AACnD,+CAA6B;AAC7B,mDAAiC;AACjC,mDAAiC"}
@@ -1,6 +1,6 @@
1
1
  import { MessageSelector } from '@dxos/echo-protocol';
2
- import { TimeframeClock } from '../database';
3
- import { PartyProcessor } from './party-processor';
2
+ import { TimeframeClock } from '../packlets/database';
3
+ import { PartyStateProvider } from './party-processor';
4
4
  /**
5
5
  * The MessageSelector makes sure that we read in a trusted order.
6
6
  * The first message we wish to process is the PartyGenesis, which will admit a Feed.
@@ -10,5 +10,5 @@ import { PartyProcessor } from './party-processor';
10
10
  * @param partyProcessor
11
11
  * @param timeframeClock
12
12
  */
13
- export declare function createMessageSelector(partyProcessor: PartyProcessor, timeframeClock: TimeframeClock): MessageSelector;
13
+ export declare const createMessageSelector: (partyProcessor: PartyStateProvider, timeframeClock: TimeframeClock) => MessageSelector;
14
14
  //# sourceMappingURL=message-selector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-selector.d.ts","sourceRoot":"","sources":["../../../src/pipeline/message-selector.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,GAC7B,eAAe,CAwCjB"}
1
+ {"version":3,"file":"message-selector.d.ts","sourceRoot":"","sources":["../../../src/pipeline/message-selector.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAIvD;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,mBAAoB,kBAAkB,kBAAkB,cAAc,KAAG,eAwC1G,CAAC"}