@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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/protocol/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,kDAAgC;AAChC,uDAAqC;AACrC,gDAA8B;AAC9B,yDAAuC;AACvC,8DAA4C;AAC5C,2DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/protocol/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,kDAAgC;AAChC,uDAAqC;AACrC,gDAA8B;AAC9B,yDAAuC;AACvC,8DAA4C;AAC5C,2DAAyC"}
@@ -5,5 +5,5 @@ import { InvitationFactory } from '../invitations';
5
5
  * Creates network protocol plugin that allows peers to claim offline invitations.
6
6
  * Plugin is intended to be used in data-party swarms.
7
7
  */
8
- export declare function createOfflineInvitationPlugin(invitationFactory: InvitationFactory, peerId: PublicKey): GreetingCommandPlugin;
8
+ export declare const createOfflineInvitationPlugin: (invitationFactory: InvitationFactory, peerId: PublicKey) => GreetingCommandPlugin;
9
9
  //# sourceMappingURL=offline-invitation-plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"offline-invitation-plugin.d.ts","sourceRoot":"","sources":["../../../src/protocol/offline-invitation-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAA4B,MAAM,gBAAgB,CAAC;AAE7E;;;GAGG;AACH,wBAAgB,6BAA6B,CAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,yBAKrG"}
1
+ {"version":3,"file":"offline-invitation-plugin.d.ts","sourceRoot":"","sources":["../../../src/protocol/offline-invitation-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAA4B,MAAM,gBAAgB,CAAC;AAE7E;;;GAGG;AACH,eAAO,MAAM,6BAA6B,sBAAuB,iBAAiB,UAAU,SAAS,0BAGpG,CAAC"}
@@ -10,8 +10,6 @@ const invitations_1 = require("../invitations");
10
10
  * Creates network protocol plugin that allows peers to claim offline invitations.
11
11
  * Plugin is intended to be used in data-party swarms.
12
12
  */
13
- function createOfflineInvitationPlugin(invitationFactory, peerId) {
14
- return new credentials_1.GreetingCommandPlugin(peerId.asBuffer(), invitations_1.OfflineInvitationClaimer.createOfflineInvitationClaimHandler(invitationFactory));
15
- }
13
+ const createOfflineInvitationPlugin = (invitationFactory, peerId) => new credentials_1.GreetingCommandPlugin(peerId.asBuffer(), invitations_1.OfflineInvitationClaimer.createOfflineInvitationClaimHandler(invitationFactory));
16
14
  exports.createOfflineInvitationPlugin = createOfflineInvitationPlugin;
17
15
  //# sourceMappingURL=offline-invitation-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"offline-invitation-plugin.js","sourceRoot":"","sources":["../../../src/protocol/offline-invitation-plugin.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,mDAA0D;AAG1D,gDAA6E;AAE7E;;;GAGG;AACH,SAAgB,6BAA6B,CAAE,iBAAoC,EAAE,MAAiB;IACpG,OAAO,IAAI,mCAAqB,CAC9B,MAAM,CAAC,QAAQ,EAAE,EACjB,sCAAwB,CAAC,mCAAmC,CAAC,iBAAiB,CAAC,CAChF,CAAC;AACJ,CAAC;AALD,sEAKC"}
1
+ {"version":3,"file":"offline-invitation-plugin.js","sourceRoot":"","sources":["../../../src/protocol/offline-invitation-plugin.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,mDAA0D;AAG1D,gDAA6E;AAE7E;;;GAGG;AACI,MAAM,6BAA6B,GAAG,CAAC,iBAAoC,EAAE,MAAiB,EAAE,EAAE,CAAC,IAAI,mCAAqB,CACjI,MAAM,CAAC,QAAQ,EAAE,EACjB,sCAAwB,CAAC,mCAAmC,CAAC,iBAAiB,CAAC,CAChF,CAAC;AAHW,QAAA,6BAA6B,iCAGxC"}
@@ -1,33 +1,20 @@
1
1
  import { PublicKey } from '@dxos/crypto';
2
2
  import { PartyKey } from '@dxos/echo-protocol';
3
3
  import { NetworkManager, Plugin } from '@dxos/network-manager';
4
- import { Replicator } from '@dxos/protocol-plugin-replicator';
5
4
  import { CredentialsProvider } from '.';
6
- import { PartyFeedProvider } from '../pipeline/party-feed-provider';
7
5
  /**
8
6
  * Manages the party's connection to the network swarm.
9
7
  */
10
8
  export declare class PartyProtocolFactory {
11
9
  private readonly _partyKey;
12
10
  private readonly _networkManager;
13
- private readonly _feedProvider;
14
11
  private readonly _peerId;
15
12
  private readonly _credentials;
16
13
  private readonly _presencePlugin;
17
- private readonly _replicatorProtocolPluginFactory;
18
14
  private _started;
19
- constructor(_partyKey: PartyKey, _networkManager: NetworkManager, _feedProvider: PartyFeedProvider, _peerId: PublicKey, _credentials: CredentialsProvider);
15
+ constructor(_partyKey: PartyKey, _networkManager: NetworkManager, _peerId: PublicKey, _credentials: CredentialsProvider);
20
16
  start(plugins: Plugin[]): Promise<(() => Promise<void>) | undefined>;
21
17
  stop(): Promise<void>;
22
18
  private _createProtocol;
23
19
  }
24
- /**
25
- * Creates the protocol plugin for feed replication.
26
- */
27
- export declare class ReplicatorProtocolPluginFactory {
28
- private readonly _feedProvider;
29
- constructor(_feedProvider: PartyFeedProvider);
30
- createPlugins(): Replicator[];
31
- private _openFeed;
32
- }
33
20
  //# sourceMappingURL=party-protocol-factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"party-protocol-factory.d.ts","sourceRoot":"","sources":["../../../src/protocol/party-protocol-factory.ts"],"names":[],"mappings":"AAOA,OAAO,EAA6B,SAAS,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAW,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAgB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,GAAG,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAIpE;;GAEG;AACH,qBAAa,oBAAoB;IAO7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAV/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+C;IAC/E,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAkC;IAEnF,OAAO,CAAC,QAAQ,CAAS;gBAGN,SAAS,EAAE,QAAQ,EACnB,eAAe,EAAE,cAAc,EAC/B,aAAa,EAAE,iBAAiB,EAChC,OAAO,EAAE,SAAS,EAClB,YAAY,EAAE,mBAAmB;IAO9C,KAAK,CAAE,OAAO,EAAE,MAAM,EAAE;IAwBxB,IAAI;IAUV,OAAO,CAAC,eAAe;CA4CxB;AAED;;GAEG;AACH,qBAAa,+BAA+B;IAExC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,iBAAiB;IAGnD,aAAa;YA4BC,SAAS;CAIxB"}
1
+ {"version":3,"file":"party-protocol-factory.d.ts","sourceRoot":"","sources":["../../../src/protocol/party-protocol-factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAA6B,SAAS,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAgB,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,GAAG,CAAC;AAIxC;;GAEG;AACH,qBAAa,oBAAoB;IAM7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAR/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+C;IAE/E,OAAO,CAAC,QAAQ,CAAS;gBAGN,SAAS,EAAE,QAAQ,EACnB,eAAe,EAAE,cAAc,EAC/B,OAAO,EAAE,SAAS,EAClB,YAAY,EAAE,mBAAmB;IAG9C,KAAK,CAAE,OAAO,EAAE,MAAM,EAAE;IAwBxB,IAAI;IAUV,OAAO,CAAC,eAAe;CA2CxB"}
@@ -2,40 +2,28 @@
2
2
  //
3
3
  // Copyright 2020 DXOS.org
4
4
  //
5
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
8
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9
- return c > 3 && r && Object.defineProperty(target, key, r), r;
10
- };
11
5
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
6
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
7
  };
14
8
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ReplicatorProtocolPluginFactory = exports.PartyProtocolFactory = void 0;
9
+ exports.PartyProtocolFactory = void 0;
16
10
  const debug_1 = __importDefault(require("debug"));
17
- const async_1 = require("@dxos/async");
18
11
  const crypto_1 = require("@dxos/crypto");
19
12
  const mesh_protocol_1 = require("@dxos/mesh-protocol");
20
13
  const network_manager_1 = require("@dxos/network-manager");
21
14
  const protocol_plugin_presence_1 = require("@dxos/protocol-plugin-presence");
22
- const protocol_plugin_replicator_1 = require("@dxos/protocol-plugin-replicator");
23
15
  const log = (0, debug_1.default)('dxos:echo-db:party-protocol-factory');
24
16
  /**
25
17
  * Manages the party's connection to the network swarm.
26
18
  */
27
19
  class PartyProtocolFactory {
28
- constructor(_partyKey, _networkManager, _feedProvider, _peerId, _credentials) {
20
+ constructor(_partyKey, _networkManager, _peerId, _credentials) {
29
21
  this._partyKey = _partyKey;
30
22
  this._networkManager = _networkManager;
31
- this._feedProvider = _feedProvider;
32
23
  this._peerId = _peerId;
33
24
  this._credentials = _credentials;
34
25
  this._presencePlugin = new protocol_plugin_presence_1.PresencePlugin(this._peerId.asBuffer());
35
26
  this._started = false;
36
- // Replication.
37
- this._replicatorProtocolPluginFactory =
38
- new ReplicatorProtocolPluginFactory(this._feedProvider);
39
27
  }
40
28
  async start(plugins) {
41
29
  if (this._started) {
@@ -68,7 +56,6 @@ class PartyProtocolFactory {
68
56
  }
69
57
  _createProtocol(channel, opts, extraPlugins) {
70
58
  const plugins = [
71
- ...this._replicatorProtocolPluginFactory.createPlugins(),
72
59
  ...extraPlugins,
73
60
  this._presencePlugin
74
61
  ];
@@ -103,44 +90,4 @@ class PartyProtocolFactory {
103
90
  }
104
91
  }
105
92
  exports.PartyProtocolFactory = PartyProtocolFactory;
106
- /**
107
- * Creates the protocol plugin for feed replication.
108
- */
109
- class ReplicatorProtocolPluginFactory {
110
- constructor(_feedProvider) {
111
- this._feedProvider = _feedProvider;
112
- }
113
- createPlugins() {
114
- return [
115
- new protocol_plugin_replicator_1.Replicator({
116
- load: async () => {
117
- const feeds = this._feedProvider.getFeeds();
118
- log(`Loading feeds: ${feeds.map(feed => (0, crypto_1.keyToString)(feed.key))}`);
119
- return feeds.map((feed) => ({ discoveryKey: feed.feed.discoveryKey }));
120
- },
121
- subscribe: (addFeedToReplicatedSet) => {
122
- return this._feedProvider.feedOpened.on(async (feed) => {
123
- log(`Adding feed: ${feed.key.toHex()}`);
124
- addFeedToReplicatedSet({ discoveryKey: feed.feed.discoveryKey });
125
- });
126
- },
127
- replicate: async (remoteFeeds, info) => {
128
- // We can ignore remoteFeeds entirely, since the set of feeds we want to replicate is dictated by the Party.
129
- // TODO(telackey): Why are we opening feeds? Necessary or belt/braces thinking, or because open party does it?
130
- const feeds = this._feedProvider.getFeeds();
131
- log(`Replicating: peerId=${info.session}; feeds=${feeds.map(feed => feed.key.toHex())}`);
132
- return feeds.map(feed => feed.feed);
133
- }
134
- })
135
- ];
136
- }
137
- async _openFeed(key) {
138
- const descriptor = await this._feedProvider.createOrOpenReadOnlyFeed(key);
139
- return descriptor.feed;
140
- }
141
- }
142
- __decorate([
143
- async_1.synchronized
144
- ], ReplicatorProtocolPluginFactory.prototype, "_openFeed", null);
145
- exports.ReplicatorProtocolPluginFactory = ReplicatorProtocolPluginFactory;
146
93
  //# sourceMappingURL=party-protocol-factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"party-protocol-factory.js","sourceRoot":"","sources":["../../../src/protocol/party-protocol-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"party-protocol-factory.js","sourceRoot":"","sources":["../../../src/protocol/party-protocol-factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Replicator } from '@dxos/protocol-plugin-replicator';
2
+ import { PartyFeedProvider } from '../pipeline';
3
+ /**
4
+ * Creates the protocol plugin for feed replication.
5
+ */
6
+ export declare const createReplicatorPlugin: (feedProvider: PartyFeedProvider) => Replicator;
7
+ //# sourceMappingURL=replicator-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replicator-plugin.d.ts","sourceRoot":"","sources":["../../../src/protocol/replicator-plugin.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIhD;;GAEG;AACH,eAAO,MAAM,sBAAsB,iBAAkB,iBAAiB,eAoBlE,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.createReplicatorPlugin = void 0;
10
+ const debug_1 = __importDefault(require("debug"));
11
+ const crypto_1 = require("@dxos/crypto");
12
+ const protocol_plugin_replicator_1 = require("@dxos/protocol-plugin-replicator");
13
+ const log = (0, debug_1.default)('dxos:echo-db:protocol:replicator');
14
+ /**
15
+ * Creates the protocol plugin for feed replication.
16
+ */
17
+ const createReplicatorPlugin = (feedProvider) => new protocol_plugin_replicator_1.Replicator({
18
+ load: async () => {
19
+ const feeds = feedProvider.getFeeds();
20
+ log(`Loading feeds: ${feeds.map(feed => (0, crypto_1.keyToString)(feed.key))}`);
21
+ return feeds.map((feed) => ({ discoveryKey: feed.feed.discoveryKey }));
22
+ },
23
+ subscribe: (addFeedToReplicatedSet) => feedProvider.feedOpened.on(async (feed) => {
24
+ log(`Adding feed: ${feed.key.toHex()}`);
25
+ addFeedToReplicatedSet({ discoveryKey: feed.feed.discoveryKey });
26
+ }),
27
+ replicate: async (remoteFeeds, info) => {
28
+ // We can ignore remoteFeeds entirely, since the set of feeds we want to replicate is dictated by the Party.
29
+ // TODO(telackey): Why are we opening feeds? Necessary or belt/braces thinking, or because open party does it?
30
+ const feeds = feedProvider.getFeeds();
31
+ log(`Replicating: peerId=${info.session}; feeds=${feeds.map(feed => feed.key.toHex())}`);
32
+ return feeds.map(feed => feed.feed);
33
+ }
34
+ });
35
+ exports.createReplicatorPlugin = createReplicatorPlugin;
36
+ //# sourceMappingURL=replicator-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replicator-plugin.js","sourceRoot":"","sources":["../../../src/protocol/replicator-plugin.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAE1B,yCAA2C;AAC3C,iFAA8D;AAI9D,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,kCAAkC,CAAC,CAAC;AAEtD;;GAEG;AACI,MAAM,sBAAsB,GAAG,CAAC,YAA+B,EAAE,EAAE,CACxE,IAAI,uCAAU,CAAC;IACb,IAAI,EAAE,KAAK,IAAI,EAAE;QACf,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtC,GAAG,CAAC,kBAAkB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,oBAAW,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,SAAS,EAAE,CAAC,sBAA2C,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACpG,GAAG,CAAC,gBAAgB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxC,sBAAsB,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;QACrC,4GAA4G;QAC5G,8GAA8G;QAC9G,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtC,GAAG,CAAC,uBAAuB,IAAI,CAAC,OAAO,WAAW,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACzF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CACF,CAAC,CAAC;AApBQ,QAAA,sBAAsB,0BAoB9B"}
@@ -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];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/snapshots/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,uDAAqC;AACrC,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/snapshots/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,uDAAqC;AACrC,mDAAiC"}
@@ -1,5 +1,5 @@
1
- import { TimeframeClock } from '../database';
2
- import { PartyCore } from '../pipeline';
1
+ import { TimeframeClock } from '../packlets/database';
2
+ import { PartyPipeline } from '../pipeline';
3
3
  import { SnapshotStore } from './snapshot-store';
4
- export declare function createAutomaticSnapshots(party: PartyCore, clock: TimeframeClock, store: SnapshotStore, interval: number): () => void;
4
+ export declare const createAutomaticSnapshots: (party: PartyPipeline, clock: TimeframeClock, store: SnapshotStore, interval: number) => () => void;
5
5
  //# sourceMappingURL=snapshot-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-generator.d.ts","sourceRoot":"","sources":["../../../src/snapshots/snapshot-generator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAehF"}
1
+ {"version":3,"file":"snapshot-generator.d.ts","sourceRoot":"","sources":["../../../src/snapshots/snapshot-generator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,eAAO,MAAM,wBAAwB,UAAW,aAAa,SAAS,cAAc,SAAS,aAAa,YAAY,MAAM,eAY1H,CAAC"}
@@ -9,21 +9,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.createAutomaticSnapshots = void 0;
10
10
  const debug_1 = __importDefault(require("debug"));
11
11
  const log = (0, debug_1.default)('dxos:snapshot-generator');
12
- function createAutomaticSnapshots(party, clock, store, interval) {
13
- return clock.update.on(async (timeframe) => {
14
- const totalMessages = timeframe.totalMessages();
15
- if (totalMessages > 0 && totalMessages % interval === 0) {
16
- log(`Saving snapshot of ${party.key.humanize()}...`);
17
- try {
18
- const snapshot = party.createSnapshot();
19
- await store.save(snapshot);
20
- }
21
- catch (err) {
22
- console.error('Failed to save snapshot');
23
- console.error(err);
24
- }
12
+ const createAutomaticSnapshots = (party, clock, store, interval) => clock.update.on(async (timeframe) => {
13
+ const totalMessages = timeframe.totalMessages();
14
+ if (totalMessages > 0 && totalMessages % interval === 0) {
15
+ log(`Saving snapshot of ${party.key.humanize()}...`);
16
+ try {
17
+ const snapshot = party.createSnapshot();
18
+ await store.save(snapshot);
25
19
  }
26
- });
27
- }
20
+ catch (err) {
21
+ console.error('Failed to save snapshot');
22
+ console.error(err);
23
+ }
24
+ }
25
+ });
28
26
  exports.createAutomaticSnapshots = createAutomaticSnapshots;
29
27
  //# sourceMappingURL=snapshot-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-generator.js","sourceRoot":"","sources":["../../../src/snapshots/snapshot-generator.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAM1B,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,yBAAyB,CAAC,CAAC;AAE7C,SAAgB,wBAAwB,CACtC,KAAgB,EAAE,KAAqB,EAAE,KAAoB,EAAE,QAAgB;IAE/E,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE;QACvC,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;QAChD,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,QAAQ,KAAK,CAAC,EAAE;YACvD,GAAG,CAAC,sBAAsB,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACrD,IAAI;gBACF,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;gBACxC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC5B;YAAC,OAAO,GAAQ,EAAE;gBACjB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACzC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACpB;SACF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAhBD,4DAgBC"}
1
+ {"version":3,"file":"snapshot-generator.js","sourceRoot":"","sources":["../../../src/snapshots/snapshot-generator.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAM1B,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,yBAAyB,CAAC,CAAC;AAEtC,MAAM,wBAAwB,GAAG,CAAC,KAAoB,EAAE,KAAqB,EAAE,KAAoB,EAAE,QAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE;IACjK,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;IAChD,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,QAAQ,KAAK,CAAC,EAAE;QACvD,GAAG,CAAC,sBAAsB,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI;YACF,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5B;QAAC,OAAO,GAAQ,EAAE;YACjB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpB;KACF;AACH,CAAC,CAAC,CAAC;AAZU,QAAA,wBAAwB,4BAYlC"}
@@ -1,13 +1,13 @@
1
1
  import { PartyKey, PartySnapshot } from '@dxos/echo-protocol';
2
- import { Storage } from '@dxos/random-access-multi-storage';
2
+ import { Directory } from '@dxos/random-access-multi-storage';
3
3
  /**
4
4
  * Stores party snapshots. Takes any `random-access-storage` compatible backend.
5
5
  *
6
6
  * Passing `ram` as a backend will make all of files temporary, effectively disabling snapshots.
7
7
  */
8
8
  export declare class SnapshotStore {
9
- private readonly _storage;
10
- constructor(_storage: Storage);
9
+ private readonly _directory;
10
+ constructor(_directory: Directory);
11
11
  load(partyKey: PartyKey): Promise<PartySnapshot | undefined>;
12
12
  save(snapshot: PartySnapshot): Promise<void>;
13
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-store.d.ts","sourceRoot":"","sources":["../../../src/snapshots/snapshot-store.ts"],"names":[],"mappings":"AAQA,OAAO,EAAU,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAI5D;;;;GAIG;AACH,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,OAAO;IAG9B,IAAI,CAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAsB7D,IAAI,CAAE,QAAQ,EAAE,aAAa;IAYnC;;OAEG;IACG,KAAK;CAIZ"}
1
+ {"version":3,"file":"snapshot-store.d.ts","sourceRoot":"","sources":["../../../src/snapshots/snapshot-store.ts"],"names":[],"mappings":"AAQA,OAAO,EAAU,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAG9D;;;;GAIG;AACH,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,SAAS;IAGlC,IAAI,CAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAsB7D,IAAI,CAAE,QAAQ,EAAE,aAAa;IAYnC;;OAEG;IACG,KAAK;CAIZ"}
@@ -18,11 +18,11 @@ const log = (0, debug_1.default)('dxos:snapshot-store');
18
18
  * Passing `ram` as a backend will make all of files temporary, effectively disabling snapshots.
19
19
  */
20
20
  class SnapshotStore {
21
- constructor(_storage) {
22
- this._storage = _storage;
21
+ constructor(_directory) {
22
+ this._directory = _directory;
23
23
  }
24
24
  async load(partyKey) {
25
- const file = this._storage.createOrOpen(partyKey.toHex());
25
+ const file = this._directory.createOrOpen(partyKey.toHex());
26
26
  try {
27
27
  const { size } = await file.stat();
28
28
  if (size === 0) {
@@ -45,7 +45,7 @@ class SnapshotStore {
45
45
  }
46
46
  async save(snapshot) {
47
47
  (0, assert_1.default)(snapshot.partyKey);
48
- const file = this._storage.createOrOpen((0, crypto_1.keyToString)(snapshot.partyKey), { truncate: true, size: 0 });
48
+ const file = this._directory.createOrOpen((0, crypto_1.keyToString)(snapshot.partyKey), { truncate: true, size: 0 });
49
49
  try {
50
50
  const data = echo_protocol_1.schema.getCodecForType('dxos.echo.snapshot.PartySnapshot').encode(snapshot);
51
51
  await file.write(0, Buffer.from(data));
@@ -59,7 +59,7 @@ class SnapshotStore {
59
59
  */
60
60
  async clear() {
61
61
  log('Clearing all snapshots..');
62
- await this._storage.destroy();
62
+ await this._directory.delete();
63
63
  }
64
64
  }
65
65
  exports.SnapshotStore = SnapshotStore;
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-store.js","sourceRoot":"","sources":["../../../src/snapshots/snapshot-store.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAC5B,kDAA0B;AAE1B,yCAA2C;AAC3C,uDAAsE;AAGtE,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,qBAAqB,CAAC,CAAC;AAEzC;;;;GAIG;AACH,MAAa,aAAa;IACxB,YACmB,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IACjC,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAE,QAAkB;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAE1D,IAAI;YACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,SAAS,CAAC;aAClB;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACtC,OAAO,sBAAM,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAChF;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACzB,OAAO,SAAS,CAAC;aAClB;iBAAM;gBACL,MAAM,GAAG,CAAC;aACX;SACF;gBAAS;YACR,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;SACpB;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAE,QAAuB;QACjC,IAAA,gBAAM,EAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAA,oBAAW,EAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAErG,IAAI;YACF,MAAM,IAAI,GAAG,sBAAM,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzF,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACxC;gBAAS;YACR,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;SACpB;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;CACF;AA9CD,sCA8CC"}
1
+ {"version":3,"file":"snapshot-store.js","sourceRoot":"","sources":["../../../src/snapshots/snapshot-store.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAC5B,kDAA0B;AAE1B,yCAA2C;AAC3C,uDAAsE;AAGtE,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,qBAAqB,CAAC,CAAC;AACzC;;;;GAIG;AACH,MAAa,aAAa;IACxB,YACmB,UAAqB;QAArB,eAAU,GAAV,UAAU,CAAW;IACrC,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAE,QAAkB;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAE5D,IAAI;YACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,SAAS,CAAC;aAClB;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACtC,OAAO,sBAAM,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAChF;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACzB,OAAO,SAAS,CAAC;aAClB;iBAAM;gBACL,MAAM,GAAG,CAAC;aACX;SACF;gBAAS;YACR,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;SACpB;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAE,QAAuB;QACjC,IAAA,gBAAM,EAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAA,oBAAW,EAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAEvG,IAAI;YACF,MAAM,IAAI,GAAG,sBAAM,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzF,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACxC;gBAAS;YACR,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;SACpB;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;CACF;AA9CD,sCA8CC"}
@@ -14,7 +14,7 @@ const snapshot_store_1 = require("./snapshot-store");
14
14
  const createPublicKey = () => crypto_1.PublicKey.from((0, crypto_1.createKeyPair)().publicKey);
15
15
  describe('SnapshotStore', () => {
16
16
  (0, mocha_1.it)('in-memory', async () => {
17
- const store = new snapshot_store_1.SnapshotStore((0, random_access_multi_storage_1.createStorage)('snapshots', random_access_multi_storage_1.StorageType.RAM));
17
+ const store = new snapshot_store_1.SnapshotStore((0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM).directory('snapshots'));
18
18
  const key1 = createPublicKey();
19
19
  const key2 = createPublicKey();
20
20
  (0, expect_1.default)(await store.load(key1)).toBeUndefined();
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-store.test.js","sourceRoot":"","sources":["../../../src/snapshots/snapshot-store.test.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;AAEF,oDAA4B;AAC5B,iCAAmC;AAEnC,yCAAkE;AAElE,mFAA+E;AAE/E,qDAAiD;AAEjD,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,kBAAS,CAAC,IAAI,CAAC,IAAA,sBAAa,GAAE,CAAC,SAAS,CAAC,CAAC;AAExE,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAA,UAAI,EAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,8BAAa,CAAC,IAAA,2CAAa,EAAC,WAAW,EAAE,yCAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAE7E,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;QAE/B,IAAA,gBAAM,EAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/C,IAAA,gBAAM,EAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAE/C,MAAM,QAAQ,GAAkB;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;YACzB,QAAQ,EAAE;gBACR,KAAK,EAAE,CAAC;wBACN,MAAM,EAAE,IAAA,iBAAQ,GAAE;wBAClB,QAAQ,EAAE,cAAc;qBACzB,CAAC;gBACF,KAAK,EAAE,EAAE;aACV;SACF,CAAC;QAEF,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3B,IAAA,gBAAM,EAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAA,gBAAM,EAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"snapshot-store.test.js","sourceRoot":"","sources":["../../../src/snapshots/snapshot-store.test.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;AAEF,oDAA4B;AAC5B,iCAAmC;AAEnC,yCAAkE;AAElE,mFAA+E;AAE/E,qDAAiD;AAEjD,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,kBAAS,CAAC,IAAI,CAAC,IAAA,sBAAa,GAAE,CAAC,SAAS,CAAC,CAAC;AAExE,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAA,UAAI,EAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,8BAAa,CAAC,IAAA,2CAAa,EAAC,EAAE,EAAE,yCAAW,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QAE3F,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;QAE/B,IAAA,gBAAM,EAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/C,IAAA,gBAAM,EAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAE/C,MAAM,QAAQ,GAAkB;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;YACzB,QAAQ,EAAE;gBACR,KAAK,EAAE,CAAC;wBACN,MAAM,EAAE,IAAA,iBAAQ,GAAE;wBAClB,QAAQ,EAAE,cAAc;qBACzB,CAAC;gBACF,KAAK,EAAE,EAAE;aACV;SACF,CAAC;QAEF,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3B,IAAA,gBAAM,EAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAA,gBAAM,EAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -14,7 +14,7 @@ const crypto_1 = require("@dxos/crypto");
14
14
  const echo_protocol_1 = require("@dxos/echo-protocol");
15
15
  const model_factory_1 = require("@dxos/model-factory");
16
16
  const object_model_1 = require("@dxos/object-model");
17
- const database_1 = require("../database");
17
+ const database_1 = require("../packlets/database");
18
18
  const testing_1 = require("../testing");
19
19
  const log = (0, debug_1.default)('dxos:snapshot:test');
20
20
  // debug.enable('dxos:echo-db:*');
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.test.js","sourceRoot":"","sources":["../../../src/snapshots/snapshot.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.test.js","sourceRoot":"","sources":["../../../src/snapshots/snapshot.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=benchmark.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.test.d.ts","sourceRoot":"","sources":["../../../src/testing/benchmark.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const object_model_1 = require("@dxos/object-model");
7
+ const echo_1 = require("../echo");
8
+ const ITEMS = 100;
9
+ const MUTATIONS = 1000;
10
+ it.skip('Database benchmark', async () => {
11
+ const echo = new echo_1.ECHO({ snapshots: false });
12
+ await echo.open();
13
+ await echo.halo.createProfile();
14
+ const party = await echo.createParty();
15
+ const start = Date.now();
16
+ for (let i = 0; i < ITEMS; i++) {
17
+ const item = await party.database.createItem({ model: object_model_1.ObjectModel, type: 'test:item' });
18
+ for (let j = 0; j < MUTATIONS; j++) {
19
+ await item.model.set(`key${j % 100}`, `value-${j}`);
20
+ }
21
+ console.log(`${i * MUTATIONS}/${ITEMS * MUTATIONS} ${((Date.now() - start) / ((i + 1) * MUTATIONS / 1000)).toFixed(1)} µs/mut ${((i + 1) * MUTATIONS / (Date.now() - start) * 1000).toFixed(1)} mut/s`);
22
+ }
23
+ await echo.close();
24
+ });
25
+ //# sourceMappingURL=benchmark.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.test.js","sourceRoot":"","sources":["../../../src/testing/benchmark.test.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;AAEF,qDAAiD;AAEjD,kCAA+B;AAE/B,MAAM,KAAK,GAAG,GAAG,CAAC;AAClB,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;IACvC,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAClB,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,0BAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAExF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;SACrD;QAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,IAAI,KAAK,GAAG,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KACzM;IAED,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC,CAAC,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];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/testing/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,4CAA0B;AAC1B,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/testing/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,4CAA0B;AAC1B,sDAAoC"}
@@ -1,6 +1,6 @@
1
1
  import { Model } from '@dxos/model-factory';
2
- import { Item, CreateItemOption } from '../api';
3
2
  import { ECHO } from '../echo';
3
+ import { CreateItemOption, Item } from '../packlets/database';
4
4
  import { createTestInstance } from './testing';
5
5
  export declare type Awaited<T> = T extends Promise<infer U> ? U : T;
6
6
  export declare type TestPeer = Awaited<ReturnType<typeof createTestInstance>>;
@@ -1 +1 @@
1
- {"version":3,"file":"testing-factories.d.ts","sourceRoot":"","sources":["../../../src/testing/testing-factories.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI5C,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAkB,MAAM,WAAW,CAAC;AAK/D,oBAAY,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE5D,oBAAY,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;AAEtE,oBAAY,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAA;AA6BxD;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;WAEb,IAAI,EAAE;;EAyBzB,CAAC"}
1
+ {"version":3,"file":"testing-factories.d.ts","sourceRoot":"","sources":["../../../src/testing/testing-factories.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI5C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAkB,MAAM,WAAW,CAAC;AAK/D,oBAAY,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE5D,oBAAY,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;AAEtE,oBAAY,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAA;AA6BxD;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;WAEb,IAAI,EAAE;;EAyBzB,CAAC"}
@@ -11,10 +11,10 @@ const assert_1 = __importDefault(require("assert"));
11
11
  const object_model_1 = require("@dxos/object-model");
12
12
  const util_1 = require("@dxos/util");
13
13
  const testing_1 = require("./testing");
14
- function addTestMeta(obj, meta) {
14
+ const addTestMeta = (obj, meta) => {
15
15
  obj.testMeta = meta;
16
16
  return obj;
17
- }
17
+ };
18
18
  /**
19
19
  * Creates a number of test ECHO instances and a party that's shared between all of them.
20
20
  * @returns Party instances from each of the peers.
@@ -1 +1 @@
1
- {"version":3,"file":"testing-factories.js","sourceRoot":"","sources":["../../../src/testing/testing-factories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing-factories.js","sourceRoot":"","sources":["../../../src/testing/testing-factories.ts"],"names":[],"mappings":"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"}