@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.
- package/dist/src/api/index.d.ts +0 -5
- package/dist/src/api/index.d.ts.map +1 -1
- package/dist/src/api/index.js +5 -6
- package/dist/src/api/index.js.map +1 -1
- package/dist/src/api/schema.test.js +1 -1
- package/dist/src/api/schema.test.js.map +1 -1
- package/dist/src/echo.d.ts +1 -0
- package/dist/src/echo.d.ts.map +1 -1
- package/dist/src/echo.js +10 -21
- package/dist/src/echo.js.map +1 -1
- package/dist/src/echo.test.js +12 -4
- package/dist/src/echo.test.js.map +1 -1
- package/dist/src/halo/contact-manager.d.ts +2 -1
- package/dist/src/halo/contact-manager.d.ts.map +1 -1
- package/dist/src/halo/contact-manager.js +1 -1
- package/dist/src/halo/contact-manager.js.map +1 -1
- package/dist/src/halo/halo-factory.d.ts +4 -4
- package/dist/src/halo/halo-factory.d.ts.map +1 -1
- package/dist/src/halo/halo-factory.js +8 -13
- package/dist/src/halo/halo-factory.js.map +1 -1
- package/dist/src/halo/halo-party.d.ts +5 -4
- package/dist/src/halo/halo-party.d.ts.map +1 -1
- package/dist/src/halo/halo-party.js +16 -10
- package/dist/src/halo/halo-party.js.map +1 -1
- package/dist/src/halo/halo.d.ts +2 -2
- package/dist/src/halo/halo.d.ts.map +1 -1
- package/dist/src/halo/halo.test.js +4 -3
- package/dist/src/halo/halo.test.js.map +1 -1
- package/dist/src/halo/identity.js +2 -2
- package/dist/src/halo/identity.js.map +1 -1
- package/dist/src/halo/index.js +5 -1
- package/dist/src/halo/index.js.map +1 -1
- package/dist/src/halo/party-opener.d.ts +1 -1
- package/dist/src/halo/party-opener.d.ts.map +1 -1
- package/dist/src/halo/party-opener.js +5 -3
- package/dist/src/halo/party-opener.js.map +1 -1
- package/dist/src/halo/preferences.d.ts +1 -1
- package/dist/src/halo/preferences.d.ts.map +1 -1
- package/dist/src/halo/preferences.js +8 -11
- package/dist/src/halo/preferences.js.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/invitations/greeting-initiator.d.ts +4 -5
- package/dist/src/invitations/greeting-initiator.d.ts.map +1 -1
- package/dist/src/invitations/greeting-initiator.js +4 -4
- package/dist/src/invitations/greeting-initiator.js.map +1 -1
- package/dist/src/invitations/greeting-protocol-provider.d.ts.map +1 -1
- package/dist/src/invitations/greeting-protocol-provider.js +5 -9
- package/dist/src/invitations/greeting-protocol-provider.js.map +1 -1
- package/dist/src/invitations/greeting-responder.d.ts +6 -4
- package/dist/src/invitations/greeting-responder.d.ts.map +1 -1
- package/dist/src/invitations/greeting-responder.js +11 -14
- package/dist/src/invitations/greeting-responder.js.map +1 -1
- package/dist/src/invitations/halo-recovery-initiator.d.ts +1 -1
- package/dist/src/invitations/halo-recovery-initiator.d.ts.map +1 -1
- package/dist/src/invitations/halo-recovery-initiator.js +2 -2
- package/dist/src/invitations/halo-recovery-initiator.js.map +1 -1
- package/dist/src/invitations/index.js +5 -1
- package/dist/src/invitations/index.js.map +1 -1
- package/dist/src/invitations/invitation-descriptor.js +6 -2
- package/dist/src/invitations/invitation-descriptor.js.map +1 -1
- package/dist/src/invitations/invitation-factory.d.ts +5 -2
- package/dist/src/invitations/invitation-factory.d.ts.map +1 -1
- package/dist/src/invitations/invitation-factory.js +4 -3
- package/dist/src/invitations/invitation-factory.js.map +1 -1
- package/dist/src/invitations/offline-invitation-claimer.d.ts.map +1 -1
- package/dist/src/invitations/offline-invitation-claimer.js +7 -9
- package/dist/src/invitations/offline-invitation-claimer.js.map +1 -1
- package/dist/src/{database → packlets/database}/data-mirror.d.ts +0 -0
- package/dist/src/packlets/database/data-mirror.d.ts.map +1 -0
- package/dist/src/{database → packlets/database}/data-mirror.js +0 -0
- package/dist/src/packlets/database/data-mirror.js.map +1 -0
- package/dist/src/{database → packlets/database}/data-mirror.test.d.ts +0 -0
- package/dist/src/packlets/database/data-mirror.test.d.ts.map +1 -0
- package/dist/src/{database → packlets/database}/data-mirror.test.js +2 -2
- package/dist/src/packlets/database/data-mirror.test.js.map +1 -0
- package/dist/src/{database → packlets/database}/data-service-host.d.ts +0 -0
- package/dist/src/packlets/database/data-service-host.d.ts.map +1 -0
- package/dist/src/{database → packlets/database}/data-service-host.js +4 -3
- package/dist/src/packlets/database/data-service-host.js.map +1 -0
- package/dist/src/{database → packlets/database}/data-service-router.d.ts +0 -0
- package/dist/src/packlets/database/data-service-router.d.ts.map +1 -0
- package/dist/src/{database → packlets/database}/data-service-router.js +0 -0
- package/dist/src/packlets/database/data-service-router.js.map +1 -0
- package/dist/src/{database → packlets/database}/database-backend.d.ts +4 -5
- package/dist/src/packlets/database/database-backend.d.ts.map +1 -0
- package/dist/src/{database → packlets/database}/database-backend.js +5 -6
- package/dist/src/packlets/database/database-backend.js.map +1 -0
- package/dist/src/{api → packlets/database}/database.d.ts +2 -1
- package/dist/src/packlets/database/database.d.ts.map +1 -0
- package/dist/src/{api → packlets/database}/database.js +2 -2
- package/dist/src/packlets/database/database.js.map +1 -0
- package/dist/src/{api → packlets/database}/database.test.d.ts +0 -0
- package/dist/src/packlets/database/database.test.d.ts.map +1 -0
- package/dist/src/{api → packlets/database}/database.test.js +3 -3
- package/dist/src/packlets/database/database.test.js.map +1 -0
- package/dist/src/{api → packlets/database}/entity.d.ts +1 -1
- package/dist/src/packlets/database/entity.d.ts.map +1 -0
- package/dist/src/{api → packlets/database}/entity.js +0 -0
- package/dist/src/packlets/database/entity.js.map +1 -0
- package/dist/src/{database → packlets/database}/index.d.ts +5 -0
- package/dist/src/packlets/database/index.d.ts.map +1 -0
- package/dist/src/{database → packlets/database}/index.js +10 -1
- package/dist/src/packlets/database/index.js.map +1 -0
- package/dist/src/{database → packlets/database}/item-demuxer.d.ts +5 -4
- package/dist/src/packlets/database/item-demuxer.d.ts.map +1 -0
- package/dist/src/{database → packlets/database}/item-demuxer.js +5 -8
- package/dist/src/packlets/database/item-demuxer.js.map +1 -0
- package/dist/src/{database → packlets/database}/item-demuxer.test.d.ts +0 -0
- package/dist/src/packlets/database/item-demuxer.test.d.ts.map +1 -0
- package/dist/src/{database → packlets/database}/item-demuxer.test.js +15 -11
- package/dist/src/packlets/database/item-demuxer.test.js.map +1 -0
- package/dist/src/{database → packlets/database}/item-manager.d.ts +3 -1
- package/dist/src/packlets/database/item-manager.d.ts.map +1 -0
- package/dist/src/{database → packlets/database}/item-manager.js +13 -12
- package/dist/src/packlets/database/item-manager.js.map +1 -0
- package/dist/src/{database → packlets/database}/item-manager.test.d.ts +0 -0
- package/dist/src/packlets/database/item-manager.test.d.ts.map +1 -0
- package/dist/src/{database → packlets/database}/item-manager.test.js +0 -0
- package/dist/src/packlets/database/item-manager.test.js.map +1 -0
- package/dist/src/{api → packlets/database}/item.d.ts +1 -1
- package/dist/src/packlets/database/item.d.ts.map +1 -0
- package/dist/src/{api → packlets/database}/item.js +0 -0
- package/dist/src/packlets/database/item.js.map +1 -0
- package/dist/src/{api → packlets/database}/link.d.ts +1 -1
- package/dist/src/packlets/database/link.d.ts.map +1 -0
- package/dist/src/{api → packlets/database}/link.js +0 -0
- package/dist/src/packlets/database/link.js.map +1 -0
- package/dist/src/{api → packlets/database}/selection/index.d.ts +0 -0
- package/dist/src/packlets/database/selection/index.d.ts.map +1 -0
- package/dist/src/{api → packlets/database}/selection/index.js +5 -1
- package/dist/src/packlets/database/selection/index.js.map +1 -0
- package/dist/src/{api → packlets/database}/selection/queries.d.ts +0 -0
- package/dist/src/packlets/database/selection/queries.d.ts.map +1 -0
- package/dist/src/{api → packlets/database}/selection/queries.js +13 -17
- package/dist/src/packlets/database/selection/queries.js.map +1 -0
- package/dist/src/{api → packlets/database}/selection/result.d.ts +0 -0
- package/dist/src/packlets/database/selection/result.d.ts.map +1 -0
- package/dist/src/{api → packlets/database}/selection/result.js +0 -0
- package/dist/src/packlets/database/selection/result.js.map +1 -0
- package/dist/src/{api → packlets/database}/selection/selection.d.ts +0 -0
- package/dist/src/packlets/database/selection/selection.d.ts.map +1 -0
- package/dist/src/{api → packlets/database}/selection/selection.js +1 -3
- package/dist/src/packlets/database/selection/selection.js.map +1 -0
- package/dist/src/{api → packlets/database}/selection/selection.test.d.ts +0 -0
- package/dist/src/packlets/database/selection/selection.test.d.ts.map +1 -0
- package/dist/src/{api → packlets/database}/selection/selection.test.js +4 -12
- package/dist/src/packlets/database/selection/selection.test.js.map +1 -0
- package/dist/src/{api → packlets/database}/selection/util.d.ts +0 -0
- package/dist/src/packlets/database/selection/util.d.ts.map +1 -0
- package/dist/src/{api → packlets/database}/selection/util.js +0 -0
- package/dist/src/packlets/database/selection/util.js.map +1 -0
- package/dist/src/{database → packlets/database}/testing.d.ts +1 -1
- package/dist/src/packlets/database/testing.d.ts.map +1 -0
- package/dist/src/{database → packlets/database}/testing.js +5 -6
- package/dist/src/packlets/database/testing.js.map +1 -0
- package/dist/src/{database → packlets/database}/timeframe-clock.d.ts +1 -0
- package/dist/src/packlets/database/timeframe-clock.d.ts.map +1 -0
- package/dist/src/{database → packlets/database}/timeframe-clock.js +3 -0
- package/dist/src/packlets/database/timeframe-clock.js.map +1 -0
- package/dist/src/{errors.d.ts → packlets/errors/index.d.ts} +1 -1
- package/dist/src/packlets/errors/index.d.ts.map +1 -0
- package/dist/src/{errors.js → packlets/errors/index.js} +1 -1
- package/dist/src/packlets/errors/index.js.map +1 -0
- package/dist/src/parties/data-party.d.ts +14 -10
- package/dist/src/parties/data-party.d.ts.map +1 -1
- package/dist/src/parties/data-party.js +39 -15
- package/dist/src/parties/data-party.js.map +1 -1
- package/dist/src/parties/data-party.test.js +42 -22
- package/dist/src/parties/data-party.test.js.map +1 -1
- package/dist/src/parties/index.js +5 -1
- package/dist/src/parties/index.js.map +1 -1
- package/dist/src/parties/party-factory.d.ts +5 -10
- package/dist/src/parties/party-factory.d.ts.map +1 -1
- package/dist/src/parties/party-factory.js +30 -54
- package/dist/src/parties/party-factory.js.map +1 -1
- package/dist/src/parties/party-manager.d.ts +3 -4
- package/dist/src/parties/party-manager.d.ts.map +1 -1
- package/dist/src/parties/party-manager.js +9 -7
- package/dist/src/parties/party-manager.js.map +1 -1
- package/dist/src/parties/party-manager.test.js +16 -15
- package/dist/src/parties/party-manager.test.js.map +1 -1
- package/dist/src/pipeline/{pipeline.d.ts → feed-muxer.d.ts} +10 -15
- package/dist/src/pipeline/feed-muxer.d.ts.map +1 -0
- package/dist/src/pipeline/{pipeline.js → feed-muxer.js} +34 -44
- package/dist/src/pipeline/feed-muxer.js.map +1 -0
- package/dist/src/pipeline/feed-muxer.test.d.ts +2 -0
- package/dist/src/pipeline/feed-muxer.test.d.ts.map +1 -0
- package/dist/src/pipeline/{pipeline.test.js → feed-muxer.test.js} +20 -18
- package/dist/src/pipeline/feed-muxer.test.js.map +1 -0
- package/dist/src/pipeline/index.d.ts +2 -2
- package/dist/src/pipeline/index.d.ts.map +1 -1
- package/dist/src/pipeline/index.js +7 -3
- package/dist/src/pipeline/index.js.map +1 -1
- package/dist/src/pipeline/message-selector.d.ts +3 -3
- package/dist/src/pipeline/message-selector.d.ts.map +1 -1
- package/dist/src/pipeline/message-selector.js +30 -29
- package/dist/src/pipeline/message-selector.js.map +1 -1
- package/dist/src/pipeline/metadata-store.d.ts +5 -4
- package/dist/src/pipeline/metadata-store.d.ts.map +1 -1
- package/dist/src/pipeline/metadata-store.js +11 -5
- package/dist/src/pipeline/metadata-store.js.map +1 -1
- package/dist/src/pipeline/metadata-store.test.js +8 -4
- package/dist/src/pipeline/metadata-store.test.js.map +1 -1
- package/dist/src/pipeline/party-feed-provider.d.ts +2 -3
- package/dist/src/pipeline/party-feed-provider.d.ts.map +1 -1
- package/dist/src/pipeline/party-feed-provider.js +2 -17
- package/dist/src/pipeline/party-feed-provider.js.map +1 -1
- package/dist/src/pipeline/{party-core.d.ts → party-pipeline.d.ts} +26 -11
- package/dist/src/pipeline/party-pipeline.d.ts.map +1 -0
- package/dist/src/pipeline/{party-core.js → party-pipeline.js} +32 -31
- package/dist/src/pipeline/party-pipeline.js.map +1 -0
- package/dist/src/pipeline/party-pipeline.test.d.ts +2 -0
- package/dist/src/pipeline/party-pipeline.test.d.ts.map +1 -0
- package/dist/src/pipeline/{party-core.test.js → party-pipeline.test.js} +64 -46
- package/dist/src/pipeline/party-pipeline.test.js.map +1 -0
- package/dist/src/pipeline/party-processor.d.ts +21 -9
- package/dist/src/pipeline/party-processor.d.ts.map +1 -1
- package/dist/src/pipeline/party-processor.js +0 -8
- package/dist/src/pipeline/party-processor.js.map +1 -1
- package/dist/src/protocol/auth-plugin.d.ts +1 -1
- package/dist/src/protocol/auth-plugin.d.ts.map +1 -1
- package/dist/src/protocol/auth-plugin.js +1 -3
- package/dist/src/protocol/auth-plugin.js.map +1 -1
- package/dist/src/protocol/authenticator.d.ts +4 -4
- package/dist/src/protocol/authenticator.d.ts.map +1 -1
- package/dist/src/protocol/authenticator.js +12 -16
- package/dist/src/protocol/authenticator.js.map +1 -1
- package/dist/src/protocol/authenticator.test.js +1 -4
- package/dist/src/protocol/authenticator.test.js.map +1 -1
- package/dist/src/protocol/halo-recovery-plugin.d.ts +1 -1
- package/dist/src/protocol/halo-recovery-plugin.d.ts.map +1 -1
- package/dist/src/protocol/halo-recovery-plugin.js +1 -3
- package/dist/src/protocol/halo-recovery-plugin.js.map +1 -1
- package/dist/src/protocol/identity-credentials.d.ts +2 -2
- package/dist/src/protocol/identity-credentials.d.ts.map +1 -1
- package/dist/src/protocol/identity-credentials.js +4 -4
- package/dist/src/protocol/identity-credentials.js.map +1 -1
- package/dist/src/protocol/index.js +5 -1
- package/dist/src/protocol/index.js.map +1 -1
- package/dist/src/protocol/offline-invitation-plugin.d.ts +1 -1
- package/dist/src/protocol/offline-invitation-plugin.d.ts.map +1 -1
- package/dist/src/protocol/offline-invitation-plugin.js +1 -3
- package/dist/src/protocol/offline-invitation-plugin.js.map +1 -1
- package/dist/src/protocol/party-protocol-factory.d.ts +1 -14
- package/dist/src/protocol/party-protocol-factory.d.ts.map +1 -1
- package/dist/src/protocol/party-protocol-factory.js +2 -55
- package/dist/src/protocol/party-protocol-factory.js.map +1 -1
- package/dist/src/protocol/replicator-plugin.d.ts +7 -0
- package/dist/src/protocol/replicator-plugin.d.ts.map +1 -0
- package/dist/src/protocol/replicator-plugin.js +36 -0
- package/dist/src/protocol/replicator-plugin.js.map +1 -0
- package/dist/src/snapshots/index.js +5 -1
- package/dist/src/snapshots/index.js.map +1 -1
- package/dist/src/snapshots/snapshot-generator.d.ts +3 -3
- package/dist/src/snapshots/snapshot-generator.d.ts.map +1 -1
- package/dist/src/snapshots/snapshot-generator.js +13 -15
- package/dist/src/snapshots/snapshot-generator.js.map +1 -1
- package/dist/src/snapshots/snapshot-store.d.ts +3 -3
- package/dist/src/snapshots/snapshot-store.d.ts.map +1 -1
- package/dist/src/snapshots/snapshot-store.js +5 -5
- package/dist/src/snapshots/snapshot-store.js.map +1 -1
- package/dist/src/snapshots/snapshot-store.test.js +1 -1
- package/dist/src/snapshots/snapshot-store.test.js.map +1 -1
- package/dist/src/snapshots/snapshot.test.js +1 -1
- package/dist/src/snapshots/snapshot.test.js.map +1 -1
- package/dist/src/testing/benchmark.test.d.ts +2 -0
- package/dist/src/testing/benchmark.test.d.ts.map +1 -0
- package/dist/src/testing/benchmark.test.js +25 -0
- package/dist/src/testing/benchmark.test.js.map +1 -0
- package/dist/src/testing/index.js +5 -1
- package/dist/src/testing/index.js.map +1 -1
- package/dist/src/testing/testing-factories.d.ts +1 -1
- package/dist/src/testing/testing-factories.d.ts.map +1 -1
- package/dist/src/testing/testing-factories.js +2 -2
- package/dist/src/testing/testing-factories.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +19 -19
- package/src/api/index.ts +0 -5
- package/src/api/schema.test.ts +1 -2
- package/src/echo.test.ts +16 -5
- package/src/echo.ts +11 -20
- package/src/halo/contact-manager.ts +3 -2
- package/src/halo/halo-factory.ts +11 -23
- package/src/halo/halo-party.ts +22 -14
- package/src/halo/halo.test.ts +4 -3
- package/src/halo/halo.ts +2 -2
- package/src/halo/identity.ts +2 -2
- package/src/halo/party-opener.ts +5 -3
- package/src/halo/preferences.ts +10 -12
- package/src/index.ts +3 -2
- package/src/invitations/greeting-initiator.ts +10 -9
- package/src/invitations/greeting-protocol-provider.ts +5 -9
- package/src/invitations/greeting-responder.ts +15 -17
- package/src/invitations/halo-recovery-initiator.ts +4 -4
- package/src/invitations/invitation-descriptor.ts +1 -1
- package/src/invitations/invitation-factory.ts +8 -5
- package/src/invitations/offline-invitation-claimer.ts +8 -10
- package/src/{database → packlets/database}/data-mirror.test.ts +3 -3
- package/src/{database → packlets/database}/data-mirror.ts +1 -1
- package/src/{database → packlets/database}/data-service-host.ts +2 -1
- package/src/{database → packlets/database}/data-service-router.ts +0 -0
- package/src/{database → packlets/database}/database-backend.ts +7 -6
- package/src/{api → packlets/database}/database.test.ts +2 -1
- package/src/{api → packlets/database}/database.ts +3 -1
- package/src/{api → packlets/database}/entity.ts +1 -1
- package/src/{database → packlets/database}/index.ts +5 -0
- package/src/{database → packlets/database}/item-demuxer.test.ts +21 -19
- package/src/{database → packlets/database}/item-demuxer.ts +10 -9
- package/src/{database → packlets/database}/item-manager.test.ts +0 -0
- package/src/{database → packlets/database}/item-manager.ts +5 -3
- package/src/{api → packlets/database}/item.ts +2 -2
- package/src/{api → packlets/database}/link.ts +1 -1
- package/src/{api → packlets/database}/selection/index.ts +0 -0
- package/src/{api → packlets/database}/selection/queries.ts +14 -18
- package/src/{api → packlets/database}/selection/result.ts +0 -0
- package/src/{api → packlets/database}/selection/selection.test.ts +4 -12
- package/src/{api → packlets/database}/selection/selection.ts +1 -7
- package/src/{api → packlets/database}/selection/util.ts +0 -0
- package/src/{database → packlets/database}/testing.ts +4 -7
- package/src/{database → packlets/database}/timeframe-clock.ts +4 -0
- package/src/{errors.ts → packlets/errors/index.ts} +0 -0
- package/src/parties/data-party.test.ts +58 -25
- package/src/parties/data-party.ts +48 -20
- package/src/parties/party-factory.ts +40 -84
- package/src/parties/party-manager.test.ts +24 -15
- package/src/parties/party-manager.ts +10 -6
- package/src/pipeline/{pipeline.test.ts → feed-muxer.test.ts} +23 -19
- package/src/pipeline/{pipeline.ts → feed-muxer.ts} +39 -55
- package/src/pipeline/index.ts +2 -2
- package/src/pipeline/message-selector.ts +32 -35
- package/src/pipeline/metadata-store.test.ts +8 -4
- package/src/pipeline/metadata-store.ts +12 -6
- package/src/pipeline/party-feed-provider.ts +3 -16
- package/src/pipeline/{party-core.test.ts → party-pipeline.test.ts} +67 -48
- package/src/pipeline/{party-core.ts → party-pipeline.ts} +59 -31
- package/src/pipeline/party-processor.ts +23 -15
- package/src/protocol/auth-plugin.ts +1 -3
- package/src/protocol/authenticator.test.ts +1 -4
- package/src/protocol/authenticator.ts +33 -33
- package/src/protocol/halo-recovery-plugin.ts +4 -6
- package/src/protocol/identity-credentials.ts +4 -4
- package/src/protocol/offline-invitation-plugin.ts +4 -6
- package/src/protocol/party-protocol-factory.ts +3 -56
- package/src/protocol/replicator-plugin.ts +37 -0
- package/src/snapshots/snapshot-generator.ts +14 -18
- package/src/snapshots/snapshot-store.test.ts +1 -1
- package/src/snapshots/snapshot-store.ts +5 -6
- package/src/snapshots/snapshot.test.ts +1 -1
- package/src/testing/benchmark.test.ts +30 -0
- package/src/testing/testing-factories.ts +3 -3
- package/dist/src/api/database.d.ts.map +0 -1
- package/dist/src/api/database.js.map +0 -1
- package/dist/src/api/database.test.d.ts.map +0 -1
- package/dist/src/api/database.test.js.map +0 -1
- package/dist/src/api/entity.d.ts.map +0 -1
- package/dist/src/api/entity.js.map +0 -1
- package/dist/src/api/item.d.ts.map +0 -1
- package/dist/src/api/item.js.map +0 -1
- package/dist/src/api/link.d.ts.map +0 -1
- package/dist/src/api/link.js.map +0 -1
- package/dist/src/api/selection/index.d.ts.map +0 -1
- package/dist/src/api/selection/index.js.map +0 -1
- package/dist/src/api/selection/queries.d.ts.map +0 -1
- package/dist/src/api/selection/queries.js.map +0 -1
- package/dist/src/api/selection/result.d.ts.map +0 -1
- package/dist/src/api/selection/result.js.map +0 -1
- package/dist/src/api/selection/selection.d.ts.map +0 -1
- package/dist/src/api/selection/selection.js.map +0 -1
- package/dist/src/api/selection/selection.test.d.ts.map +0 -1
- package/dist/src/api/selection/selection.test.js.map +0 -1
- package/dist/src/api/selection/util.d.ts.map +0 -1
- package/dist/src/api/selection/util.js.map +0 -1
- package/dist/src/database/data-mirror.d.ts.map +0 -1
- package/dist/src/database/data-mirror.js.map +0 -1
- package/dist/src/database/data-mirror.test.d.ts.map +0 -1
- package/dist/src/database/data-mirror.test.js.map +0 -1
- package/dist/src/database/data-service-host.d.ts.map +0 -1
- package/dist/src/database/data-service-host.js.map +0 -1
- package/dist/src/database/data-service-router.d.ts.map +0 -1
- package/dist/src/database/data-service-router.js.map +0 -1
- package/dist/src/database/database-backend.d.ts.map +0 -1
- package/dist/src/database/database-backend.js.map +0 -1
- package/dist/src/database/index.d.ts.map +0 -1
- package/dist/src/database/index.js.map +0 -1
- package/dist/src/database/item-demuxer.d.ts.map +0 -1
- package/dist/src/database/item-demuxer.js.map +0 -1
- package/dist/src/database/item-demuxer.test.d.ts.map +0 -1
- package/dist/src/database/item-demuxer.test.js.map +0 -1
- package/dist/src/database/item-manager.d.ts.map +0 -1
- package/dist/src/database/item-manager.js.map +0 -1
- package/dist/src/database/item-manager.test.d.ts.map +0 -1
- package/dist/src/database/item-manager.test.js.map +0 -1
- package/dist/src/database/testing.d.ts.map +0 -1
- package/dist/src/database/testing.js.map +0 -1
- package/dist/src/database/timeframe-clock.d.ts.map +0 -1
- package/dist/src/database/timeframe-clock.js.map +0 -1
- package/dist/src/errors.d.ts.map +0 -1
- package/dist/src/errors.js.map +0 -1
- package/dist/src/pipeline/party-core.d.ts.map +0 -1
- package/dist/src/pipeline/party-core.js.map +0 -1
- package/dist/src/pipeline/party-core.test.d.ts +0 -2
- package/dist/src/pipeline/party-core.test.d.ts.map +0 -1
- package/dist/src/pipeline/party-core.test.js.map +0 -1
- package/dist/src/pipeline/pipeline.d.ts.map +0 -1
- package/dist/src/pipeline/pipeline.js.map +0 -1
- package/dist/src/pipeline/pipeline.test.d.ts +0 -2
- package/dist/src/pipeline/pipeline.test.d.ts.map +0 -1
- package/dist/src/pipeline/pipeline.test.js.map +0 -1
|
@@ -21,41 +21,42 @@ const log = (0, debug_1.default)('dxos:echo-db:message-selector');
|
|
|
21
21
|
* @param partyProcessor
|
|
22
22
|
* @param timeframeClock
|
|
23
23
|
*/
|
|
24
|
-
|
|
25
|
-
//
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (!echo) {
|
|
32
|
-
continue;
|
|
33
|
-
}
|
|
34
|
-
(0, assert_1.default)(echo.timeframe);
|
|
35
|
-
if (partyProcessor.isFeedAdmitted(feedKey) && !timeframeClock.hasGaps(echo.timeframe)) {
|
|
36
|
-
return i;
|
|
37
|
-
}
|
|
24
|
+
const createMessageSelector = (partyProcessor, timeframeClock) => candidates => {
|
|
25
|
+
// Check ECHO message candidates first since they are less expensive than HALO cancidates.
|
|
26
|
+
for (let i = 0; i < candidates.length; i++) {
|
|
27
|
+
const { data: { timeframe, echo } } = candidates[i];
|
|
28
|
+
const feedKey = crypto_1.PublicKey.from(candidates[i].key);
|
|
29
|
+
if (!echo) {
|
|
30
|
+
continue;
|
|
38
31
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
32
|
+
(0, assert_1.default)(timeframe);
|
|
33
|
+
if (partyProcessor.isFeedAdmitted(feedKey) && !timeframeClock.hasGaps(timeframe)) {
|
|
34
|
+
return i;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// Check HALO message candidates.
|
|
38
|
+
for (let i = 0; i < candidates.length; i++) {
|
|
39
|
+
const { data: { timeframe, halo } } = candidates[i];
|
|
40
|
+
const feedKey = crypto_1.PublicKey.from(candidates[i].key);
|
|
41
|
+
if (!halo) {
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
(0, assert_1.default)(timeframe);
|
|
45
|
+
if (partyProcessor.isFeedAdmitted(feedKey) && !timeframeClock.hasGaps(timeframe)) {
|
|
46
|
+
return i;
|
|
47
|
+
}
|
|
48
|
+
if (partyProcessor.genesisRequired) {
|
|
49
|
+
try { // TODO(dmaretskyi): Get getPartyCredentialMessageType crashes for some reason.
|
|
50
50
|
// TODO(telackey): Add check that this is for the right Party.
|
|
51
51
|
if ((0, credentials_1.getPartyCredentialMessageType)(halo) === credentials_1.PartyCredential.Type.PARTY_GENESIS) {
|
|
52
52
|
return i;
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
+
catch (_a) { }
|
|
55
56
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
57
|
+
}
|
|
58
|
+
// Not ready for this message yet.
|
|
59
|
+
log('Skipping...');
|
|
60
|
+
};
|
|
60
61
|
exports.createMessageSelector = createMessageSelector;
|
|
61
62
|
//# sourceMappingURL=message-selector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-selector.js","sourceRoot":"","sources":["../../../src/pipeline/message-selector.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAC5B,kDAA0B;AAE1B,mDAAmF;AACnF,yCAAyC;AAMzC,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,+BAA+B,CAAC,CAAC;AAEnD;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"message-selector.js","sourceRoot":"","sources":["../../../src/pipeline/message-selector.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAC5B,kDAA0B;AAE1B,mDAAmF;AACnF,yCAAyC;AAMzC,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,+BAA+B,CAAC,CAAC;AAEnD;;;;;;;;GAQG;AACI,MAAM,qBAAqB,GAAG,CAAC,cAAkC,EAAE,cAA8B,EAAmB,EAAE,CAAC,UAAU,CAAC,EAAE;IACzI,0FAA0F;IAC1F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,MAAM,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,kBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,EAAE;YACT,SAAS;SACV;QAED,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC;QAClB,IAAI,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAChF,OAAO,CAAC,CAAC;SACV;KACF;IAED,iCAAiC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,MAAM,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,kBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,EAAE;YACT,SAAS;SACV;QAED,IAAA,gBAAM,EAAC,SAAS,CAAC,CAAC;QAClB,IAAI,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAChF,OAAO,CAAC,CAAC;SACV;QAED,IAAI,cAAc,CAAC,eAAe,EAAE;YAClC,IAAI,EAAE,+EAA+E;gBACnF,8DAA8D;gBAC9D,IAAI,IAAA,2CAA6B,EAAC,IAAI,CAAC,KAAK,6BAAe,CAAC,IAAI,CAAC,aAAa,EAAE;oBAC9E,OAAO,CAAC,CAAC;iBACV;aACF;YAAC,WAAM,GAAG;SACZ;KACF;IAED,kCAAkC;IAClC,GAAG,CAAC,aAAa,CAAC,CAAC;AACrB,CAAC,CAAC;AAxCW,QAAA,qBAAqB,yBAwChC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PublicKey } from '@dxos/crypto';
|
|
2
|
-
import { PartyMetadata } from '@dxos/echo-protocol';
|
|
3
|
-
import {
|
|
2
|
+
import { PartyMetadata, Timeframe } from '@dxos/echo-protocol';
|
|
3
|
+
import { Directory } from '@dxos/random-access-multi-storage';
|
|
4
4
|
/**
|
|
5
5
|
* Version for the schema of the stored data as defined in dxos.echo.metadata.EchoMetadata.
|
|
6
6
|
*
|
|
@@ -8,9 +8,9 @@ import { Storage } from '@dxos/random-access-multi-storage';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare const STORAGE_VERSION = 1;
|
|
10
10
|
export declare class MetadataStore {
|
|
11
|
-
private readonly
|
|
11
|
+
private readonly _directory;
|
|
12
12
|
private _metadata;
|
|
13
|
-
constructor(
|
|
13
|
+
constructor(_directory: Directory);
|
|
14
14
|
get version(): number;
|
|
15
15
|
/**
|
|
16
16
|
* Returns a list of currently saved parties. The list and objects in it can be modified addParty and
|
|
@@ -49,5 +49,6 @@ export declare class MetadataStore {
|
|
|
49
49
|
* Checks if a party with given key has a feed with given key.
|
|
50
50
|
*/
|
|
51
51
|
hasFeed(partyKey: PublicKey, feedKey: PublicKey): boolean;
|
|
52
|
+
setTimeframe(partyKey: PublicKey, timeframe: Timeframe): Promise<void>;
|
|
52
53
|
}
|
|
53
54
|
//# sourceMappingURL=metadata-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-store.d.ts","sourceRoot":"","sources":["../../../src/pipeline/metadata-store.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAgB,aAAa,EAAU,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"metadata-store.d.ts","sourceRoot":"","sources":["../../../src/pipeline/metadata-store.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAgB,aAAa,EAAU,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC;AAIjC,qBAAa,aAAa;IAStB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAR7B,OAAO,CAAC,SAAS,CAKf;gBAGiB,UAAU,EAAE,SAAS;IAGxC,IAAI,OAAO,IAAK,MAAM,CAErB;IAED;;;OAGG;IACH,IAAI,OAAO,IAAK,aAAa,EAAE,CAE9B;IAED;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;YAqBd,KAAK;IAkBnB;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAK7B;;OAEG;IACG,QAAQ,CAAE,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnD;;;OAGG;IACG,YAAY,CAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3E;;;;OAIG;IACG,WAAW,CAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1E;;OAEG;IACH,QAAQ,CAAE,QAAQ,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS;IAIzD;;OAEG;IACH,OAAO,CAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO;IAQpD,YAAY,CAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;CAK9D"}
|
|
@@ -19,8 +19,8 @@ const echo_protocol_1 = require("@dxos/echo-protocol");
|
|
|
19
19
|
exports.STORAGE_VERSION = 1;
|
|
20
20
|
const log = (0, debug_1.default)('dxos:snapshot-store');
|
|
21
21
|
class MetadataStore {
|
|
22
|
-
constructor(
|
|
23
|
-
this.
|
|
22
|
+
constructor(_directory) {
|
|
23
|
+
this._directory = _directory;
|
|
24
24
|
this._metadata = {
|
|
25
25
|
version: exports.STORAGE_VERSION,
|
|
26
26
|
parties: [],
|
|
@@ -44,7 +44,7 @@ class MetadataStore {
|
|
|
44
44
|
* Loads metadata from persistent storage.
|
|
45
45
|
*/
|
|
46
46
|
async load() {
|
|
47
|
-
const file = this.
|
|
47
|
+
const file = this._directory.createOrOpen('EchoMetadata');
|
|
48
48
|
try {
|
|
49
49
|
const { size } = await file.stat();
|
|
50
50
|
if (size === 0) {
|
|
@@ -73,7 +73,7 @@ class MetadataStore {
|
|
|
73
73
|
created: (_a = this._metadata.created) !== null && _a !== void 0 ? _a : new Date(),
|
|
74
74
|
updated: new Date()
|
|
75
75
|
};
|
|
76
|
-
const file = this.
|
|
76
|
+
const file = this._directory.createOrOpen('EchoMetadata');
|
|
77
77
|
try {
|
|
78
78
|
const encoded = Buffer.from(echo_protocol_1.schema.getCodecForType('dxos.echo.metadata.EchoMetadata').encode(data));
|
|
79
79
|
await file.write(0, encoded);
|
|
@@ -87,7 +87,7 @@ class MetadataStore {
|
|
|
87
87
|
*/
|
|
88
88
|
async clear() {
|
|
89
89
|
log('Clearing all echo metadata...');
|
|
90
|
-
await this.
|
|
90
|
+
await this._directory.delete();
|
|
91
91
|
}
|
|
92
92
|
/**
|
|
93
93
|
* Adds new party to store and saves it in persistent storage.
|
|
@@ -155,6 +155,12 @@ class MetadataStore {
|
|
|
155
155
|
}
|
|
156
156
|
return !!((_a = party.feedKeys) === null || _a === void 0 ? void 0 : _a.find(fk => feedKey.equals(fk)));
|
|
157
157
|
}
|
|
158
|
+
async setTimeframe(partyKey, timeframe) {
|
|
159
|
+
var _a;
|
|
160
|
+
const party = (_a = this.getParty(partyKey)) !== null && _a !== void 0 ? _a : (0, debug_2.failUndefined)();
|
|
161
|
+
party.latestTimeframe = timeframe;
|
|
162
|
+
await this._save();
|
|
163
|
+
}
|
|
158
164
|
}
|
|
159
165
|
exports.MetadataStore = MetadataStore;
|
|
160
166
|
//# sourceMappingURL=metadata-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-store.js","sourceRoot":"","sources":["../../../src/pipeline/metadata-store.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAC5B,kDAA0B;AAG1B,uCAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"metadata-store.js","sourceRoot":"","sources":["../../../src/pipeline/metadata-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,8 @@ const metadata_store_1 = require("./metadata-store");
|
|
|
13
13
|
describe('MetadataStore in-memory', () => {
|
|
14
14
|
it('Creates party and adds feeds to it', async () => {
|
|
15
15
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
16
|
-
const
|
|
16
|
+
const storage = (0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM);
|
|
17
|
+
const store = new metadata_store_1.MetadataStore(storage.directory('metadata'));
|
|
17
18
|
await store.load();
|
|
18
19
|
(0, expect_1.default)((_a = store.parties) === null || _a === void 0 ? void 0 : _a.length).toBe(0);
|
|
19
20
|
const partyKey = crypto_1.PublicKey.random();
|
|
@@ -32,7 +33,8 @@ describe('MetadataStore in-memory', () => {
|
|
|
32
33
|
});
|
|
33
34
|
it('Creates party when adding feed', async () => {
|
|
34
35
|
var _a, _b, _c, _d, _e;
|
|
35
|
-
const
|
|
36
|
+
const storage = (0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM);
|
|
37
|
+
const store = new metadata_store_1.MetadataStore(storage.directory('metadata'));
|
|
36
38
|
await store.load();
|
|
37
39
|
const partyKey = crypto_1.PublicKey.random();
|
|
38
40
|
const feedKey = crypto_1.PublicKey.random();
|
|
@@ -43,7 +45,8 @@ describe('MetadataStore in-memory', () => {
|
|
|
43
45
|
});
|
|
44
46
|
it('Doesn\'t add same feed twice', async () => {
|
|
45
47
|
var _a, _b, _c, _d;
|
|
46
|
-
const
|
|
48
|
+
const storage = (0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM);
|
|
49
|
+
const store = new metadata_store_1.MetadataStore(storage.directory('metadata'));
|
|
47
50
|
await store.load();
|
|
48
51
|
const partyKey = crypto_1.PublicKey.random();
|
|
49
52
|
const feedKey = crypto_1.PublicKey.random();
|
|
@@ -55,7 +58,8 @@ describe('MetadataStore in-memory', () => {
|
|
|
55
58
|
// TODO(yivlad): Doesn't work for now.
|
|
56
59
|
it.skip('Resets storage', async () => {
|
|
57
60
|
var _a, _b, _c, _d, _e, _f;
|
|
58
|
-
const
|
|
61
|
+
const storage = (0, random_access_multi_storage_1.createStorage)('snapshots', random_access_multi_storage_1.StorageType.RAM);
|
|
62
|
+
const store = new metadata_store_1.MetadataStore(storage.directory(''));
|
|
59
63
|
const partyKey = crypto_1.PublicKey.random();
|
|
60
64
|
const feedKey = crypto_1.PublicKey.random();
|
|
61
65
|
await store.addPartyFeed(partyKey, feedKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-store.test.js","sourceRoot":"","sources":["../../../src/pipeline/metadata-store.test.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;AAEF,oDAA4B;AAE5B,yCAAyC;AACzC,mFAA+E;AAE/E,qDAAiD;AAEjD,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;;QAClD,MAAM,
|
|
1
|
+
{"version":3,"file":"metadata-store.test.js","sourceRoot":"","sources":["../../../src/pipeline/metadata-store.test.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;AAEF,oDAA4B;AAE5B,yCAAyC;AACzC,mFAA+E;AAE/E,qDAAiD;AAEjD,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;;QAClD,MAAM,OAAO,GAAG,IAAA,2CAAa,EAAC,EAAE,EAAE,yCAAW,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,8BAAa,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,IAAA,gBAAM,EAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEtC,MAAM,QAAQ,GAAG,kBAAS,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAA,gBAAM,EAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,IAAA,gBAAM,EAAC,MAAA,KAAK,CAAC,OAAO,0CAAG,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAA,gBAAM,EAAC,MAAA,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAG,CAAC,EAAE,QAAQ,0CAAE,MAAM,mCAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEzD,MAAM,QAAQ,GAAG,kBAAS,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAA,gBAAM,EAAC,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAG,CAAC,EAAE,QAAQ,0CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpD,IAAA,gBAAM,EAAC,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAG,CAAC,EAAE,QAAQ,0CAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE3D,MAAM,QAAQ,GAAG,kBAAS,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAA,gBAAM,EAAC,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAG,CAAC,EAAE,QAAQ,0CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpD,IAAA,gBAAM,EAAC,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAG,CAAC,EAAE,QAAQ,0CAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;;QAC9C,MAAM,OAAO,GAAG,IAAA,2CAAa,EAAC,EAAE,EAAE,yCAAW,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,8BAAa,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAEnB,MAAM,QAAQ,GAAG,kBAAS,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,kBAAS,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAA,gBAAM,EAAC,MAAA,KAAK,CAAC,OAAO,0CAAG,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAA,gBAAM,EAAC,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAG,CAAC,EAAE,QAAQ,0CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpD,IAAA,gBAAM,EAAC,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAG,CAAC,EAAE,QAAQ,0CAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;;QAC5C,MAAM,OAAO,GAAG,IAAA,2CAAa,EAAC,EAAE,EAAE,yCAAW,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,8BAAa,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAEnB,MAAM,QAAQ,GAAG,kBAAS,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,kBAAS,CAAC,MAAM,EAAE,CAAC;QAEnC,MAAM,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE5C,IAAA,gBAAM,EAAC,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAG,CAAC,EAAE,QAAQ,0CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpD,IAAA,gBAAM,EAAC,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAG,CAAC,EAAE,QAAQ,0CAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;;QACnC,MAAM,OAAO,GAAG,IAAA,2CAAa,EAAC,WAAW,EAAE,yCAAW,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,8BAAa,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvD,MAAM,QAAQ,GAAG,kBAAS,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,kBAAS,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAA,gBAAM,EAAC,MAAA,KAAK,CAAC,OAAO,0CAAG,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAA,gBAAM,EAAC,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAG,CAAC,EAAE,QAAQ,0CAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpD,IAAA,gBAAM,EAAC,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAG,CAAC,EAAE,QAAQ,0CAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE1D,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,IAAA,gBAAM,EAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Event } from '@dxos/async';
|
|
2
2
|
import { Keyring } from '@dxos/credentials';
|
|
3
3
|
import { PublicKey } from '@dxos/crypto';
|
|
4
|
-
import { FeedStoreIterator, MessageSelector, Timeframe } from '@dxos/echo-protocol';
|
|
4
|
+
import { FeedSelector, FeedStoreIterator, MessageSelector, Timeframe } from '@dxos/echo-protocol';
|
|
5
5
|
import { FeedDescriptor, FeedStore } from '@dxos/feed-store';
|
|
6
6
|
import { MetadataStore } from './metadata-store';
|
|
7
7
|
export declare class PartyFeedProvider {
|
|
@@ -13,11 +13,10 @@ export declare class PartyFeedProvider {
|
|
|
13
13
|
readonly feedOpened: Event<FeedDescriptor>;
|
|
14
14
|
constructor(_metadataStore: MetadataStore, _keyring: Keyring, _feedStore: FeedStore, _partyKey: PublicKey);
|
|
15
15
|
getFeeds(): FeedDescriptor[];
|
|
16
|
-
openKnownFeeds(): Promise<void>;
|
|
17
16
|
createOrOpenWritableFeed(): Promise<FeedDescriptor>;
|
|
18
17
|
createOrOpenReadOnlyFeed(feedKey: PublicKey): Promise<FeedDescriptor>;
|
|
19
18
|
private _trackFeed;
|
|
20
19
|
private _createReadWriteFeed;
|
|
21
|
-
createIterator(messageSelector: MessageSelector, initialTimeframe?: Timeframe): Promise<FeedStoreIterator>;
|
|
20
|
+
createIterator(messageSelector: MessageSelector, feedSelector: FeedSelector, initialTimeframe?: Timeframe): Promise<FeedStoreIterator>;
|
|
22
21
|
}
|
|
23
22
|
//# sourceMappingURL=party-feed-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-feed-provider.d.ts","sourceRoot":"","sources":["../../../src/pipeline/party-feed-provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,EAAW,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"party-feed-provider.d.ts","sourceRoot":"","sources":["../../../src/pipeline/party-feed-provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,EAAW,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMjD,qBAAa,iBAAiB;IAK1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAP5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4D;IACnF,QAAQ,CAAC,UAAU,wBAA+B;gBAG/B,cAAc,EAAE,aAAa,EAC7B,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,SAAS,EACrB,SAAS,EAAE,SAAS;IAGvC,QAAQ,IAAK,cAAc,EAAE;IAKvB,wBAAwB;IAqBxB,wBAAwB,CAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC;IAc5E,OAAO,CAAC,UAAU;YAWJ,oBAAoB;IAU5B,cAAc,CAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,CAAC,EAAE,SAAS;CAkBjH"}
|
|
@@ -34,18 +34,6 @@ class PartyFeedProvider {
|
|
|
34
34
|
getFeeds() {
|
|
35
35
|
return Array.from(this._feeds.values());
|
|
36
36
|
}
|
|
37
|
-
async openKnownFeeds() {
|
|
38
|
-
var _a, _b;
|
|
39
|
-
for (const feedKey of (_b = (_a = this._metadataStore.getParty(this._partyKey)) === null || _a === void 0 ? void 0 : _a.feedKeys) !== null && _b !== void 0 ? _b : []) {
|
|
40
|
-
if (!this._feeds.has(feedKey)) {
|
|
41
|
-
const fullKey = this._keyring.getFullKey(feedKey);
|
|
42
|
-
const feed = (fullKey === null || fullKey === void 0 ? void 0 : fullKey.secretKey)
|
|
43
|
-
? await this._feedStore.openReadWriteFeed(fullKey.publicKey, fullKey.secretKey)
|
|
44
|
-
: await this._feedStore.openReadOnlyFeed(feedKey);
|
|
45
|
-
this._trackFeed(feed);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
37
|
async createOrOpenWritableFeed() {
|
|
50
38
|
const partyMetadata = this._metadataStore.getParty(this._partyKey);
|
|
51
39
|
if (!(partyMetadata === null || partyMetadata === void 0 ? void 0 : partyMetadata.dataFeedKey)) {
|
|
@@ -92,8 +80,8 @@ class PartyFeedProvider {
|
|
|
92
80
|
this._trackFeed(feed);
|
|
93
81
|
return feed;
|
|
94
82
|
}
|
|
95
|
-
async createIterator(messageSelector, initialTimeframe) {
|
|
96
|
-
const iterator = new echo_protocol_1.FeedStoreIterator(
|
|
83
|
+
async createIterator(messageSelector, feedSelector, initialTimeframe) {
|
|
84
|
+
const iterator = new echo_protocol_1.FeedStoreIterator(feedSelector, messageSelector, initialTimeframe !== null && initialTimeframe !== void 0 ? initialTimeframe : new echo_protocol_1.Timeframe());
|
|
97
85
|
for (const feed of this._feeds.values()) {
|
|
98
86
|
iterator.addFeedDescriptor(feed);
|
|
99
87
|
}
|
|
@@ -109,9 +97,6 @@ class PartyFeedProvider {
|
|
|
109
97
|
return iterator;
|
|
110
98
|
}
|
|
111
99
|
}
|
|
112
|
-
__decorate([
|
|
113
|
-
async_1.synchronized
|
|
114
|
-
], PartyFeedProvider.prototype, "openKnownFeeds", null);
|
|
115
100
|
__decorate([
|
|
116
101
|
async_1.synchronized
|
|
117
102
|
], PartyFeedProvider.prototype, "createOrOpenWritableFeed", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-feed-provider.js","sourceRoot":"","sources":["../../../src/pipeline/party-feed-provider.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,oDAA4B;AAC5B,kDAA0B;AAE1B,uCAAkD;AAClD,mDAAqD;AAErD,
|
|
1
|
+
{"version":3,"file":"party-feed-provider.js","sourceRoot":"","sources":["../../../src/pipeline/party-feed-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,32 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Message as HaloMessage } from '@dxos/credentials';
|
|
2
2
|
import { PublicKey } from '@dxos/crypto';
|
|
3
|
-
import { PartyKey, PartySnapshot, Timeframe } from '@dxos/echo-protocol';
|
|
3
|
+
import { FeedWriter, PartyKey, PartySnapshot, Timeframe } from '@dxos/echo-protocol';
|
|
4
4
|
import { ModelFactory } from '@dxos/model-factory';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { PartyProcessor, PartyFeedProvider, FeedMuxer } from '.';
|
|
6
|
+
import { Database } from '../packlets/database';
|
|
7
7
|
import { SnapshotStore } from '../snapshots';
|
|
8
|
-
export interface
|
|
8
|
+
export interface PipelineOptions {
|
|
9
9
|
readLogger?: (msg: any) => void;
|
|
10
10
|
writeLogger?: (msg: any) => void;
|
|
11
11
|
readOnly?: boolean;
|
|
12
12
|
snapshots?: boolean;
|
|
13
13
|
snapshotInterval?: number;
|
|
14
14
|
}
|
|
15
|
+
export interface OpenOptions {
|
|
16
|
+
/**
|
|
17
|
+
* Keys of initial feeds needed to bootstrap the party.
|
|
18
|
+
*/
|
|
19
|
+
feedHints?: PublicKey[];
|
|
20
|
+
/**
|
|
21
|
+
* Timeframe to start processing feed messages from.
|
|
22
|
+
*/
|
|
23
|
+
initialTimeframe?: Timeframe;
|
|
24
|
+
/**
|
|
25
|
+
* Timeframe which must be reached until further processing.
|
|
26
|
+
* PartyCore.open will block until this timeframe is reached.
|
|
27
|
+
*/
|
|
28
|
+
targetTimeframe?: Timeframe;
|
|
29
|
+
}
|
|
15
30
|
/**
|
|
16
31
|
* Encapsulates core components needed by a party:
|
|
17
32
|
* - ECHO database with item-manager & item-demuxer.
|
|
@@ -20,13 +35,12 @@ export interface PartyOptions {
|
|
|
20
35
|
*
|
|
21
36
|
* The core class also handles the combined ECHO and HALO state snapshots.
|
|
22
37
|
*/
|
|
23
|
-
export declare class
|
|
38
|
+
export declare class PartyPipeline {
|
|
24
39
|
private readonly _partyKey;
|
|
25
40
|
private readonly _feedProvider;
|
|
26
41
|
private readonly _modelFactory;
|
|
27
42
|
private readonly _snapshotStore;
|
|
28
43
|
private readonly _memberKey;
|
|
29
|
-
private readonly _initialTimeframe?;
|
|
30
44
|
private readonly _options;
|
|
31
45
|
/**
|
|
32
46
|
* Snapshot to be restored from when party.open() is called.
|
|
@@ -37,19 +51,20 @@ export declare class PartyCore {
|
|
|
37
51
|
private _pipeline?;
|
|
38
52
|
private _partyProcessor?;
|
|
39
53
|
private _timeframeClock?;
|
|
40
|
-
constructor(_partyKey: PartyKey, _feedProvider: PartyFeedProvider, _modelFactory: ModelFactory, _snapshotStore: SnapshotStore, _memberKey: PublicKey,
|
|
54
|
+
constructor(_partyKey: PartyKey, _feedProvider: PartyFeedProvider, _modelFactory: ModelFactory, _snapshotStore: SnapshotStore, _memberKey: PublicKey, _options?: PipelineOptions);
|
|
41
55
|
get key(): PartyKey;
|
|
42
56
|
get isOpen(): boolean;
|
|
43
57
|
get database(): Database;
|
|
44
58
|
get processor(): PartyProcessor;
|
|
45
|
-
get pipeline():
|
|
59
|
+
get pipeline(): FeedMuxer;
|
|
46
60
|
get timeframe(): Timeframe;
|
|
47
61
|
get timeframeUpdate(): import("@dxos/async").Event<Timeframe>;
|
|
48
62
|
getWriteFeed(): Promise<import("@dxos/feed-store").FeedDescriptor>;
|
|
63
|
+
get credentialsWriter(): FeedWriter<HaloMessage>;
|
|
49
64
|
/**
|
|
50
65
|
* Opens the pipeline and connects the streams.
|
|
51
66
|
*/
|
|
52
|
-
open(
|
|
67
|
+
open(options?: OpenOptions): Promise<this>;
|
|
53
68
|
/**
|
|
54
69
|
* Closes the pipeline and streams.
|
|
55
70
|
*/
|
|
@@ -60,4 +75,4 @@ export declare class PartyCore {
|
|
|
60
75
|
createSnapshot(): PartySnapshot;
|
|
61
76
|
restoreFromSnapshot(snapshot: PartySnapshot): Promise<void>;
|
|
62
77
|
}
|
|
63
|
-
//# sourceMappingURL=party-
|
|
78
|
+
//# sourceMappingURL=party-pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"party-pipeline.d.ts","sourceRoot":"","sources":["../../../src/pipeline/party-pipeline.ts"],"names":[],"mappings":"AAOA,OAAO,EAAW,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAoD,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACvI,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAyB,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAuC,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAA4B,aAAa,EAAE,MAAM,cAAc,CAAC;AAIvE,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,EAAE,CAAA;IACvB;;OAEG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B;;;OAGG;IACH,eAAe,CAAC,EAAE,SAAS,CAAA;CAC5B;AAED;;;;;;;GAOG;AACH,qBAAa,aAAa;IActB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAlB3B;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAA+B;IAExD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2B;IAE1D,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,eAAe,CAAC,CAAiB;gBAGtB,SAAS,EAAE,QAAQ,EACnB,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,YAAY,EAC3B,cAAc,EAAE,aAAa,EAC7B,UAAU,EAAE,SAAS,EACrB,QAAQ,GAAE,eAAoB;IAGjD,IAAI,GAAG,IAAK,QAAQ,CAEnB;IAED,IAAI,MAAM,IAAK,OAAO,CAErB;IAED,IAAI,QAAQ,IAAK,QAAQ,CAGxB;IAED,IAAI,SAAS,mBAGZ;IAED,IAAI,QAAQ,cAGX;IAED,IAAI,SAAS,cAGZ;IAED,IAAI,eAAe,2CAGlB;IAEK,YAAY;IAMlB,IAAI,iBAAiB,IAAK,UAAU,CAAC,WAAW,CAAC,CAGhD;IAED;;OAEG;IAGG,IAAI,CAAE,OAAO,GAAE,WAAgB;IAkFrC;;OAEG;IAEG,KAAK;IAmBX;;OAEG;IACH,cAAc,IAAK,aAAa;IAY1B,mBAAmB,CAAE,QAAQ,EAAE,aAAa;CAWnD"}
|
|
@@ -12,16 +12,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.
|
|
15
|
+
exports.PartyPipeline = void 0;
|
|
16
16
|
const assert_1 = __importDefault(require("assert"));
|
|
17
17
|
const async_1 = require("@dxos/async");
|
|
18
18
|
const credentials_1 = require("@dxos/credentials");
|
|
19
19
|
const debug_1 = require("@dxos/debug");
|
|
20
20
|
const echo_protocol_1 = require("@dxos/echo-protocol");
|
|
21
21
|
const util_1 = require("@dxos/util");
|
|
22
|
-
const
|
|
23
|
-
const database_1 = require("../database");
|
|
24
|
-
const pipeline_1 = require("../pipeline");
|
|
22
|
+
const _1 = require(".");
|
|
23
|
+
const database_1 = require("../packlets/database");
|
|
25
24
|
const snapshots_1 = require("../snapshots");
|
|
26
25
|
const DEFAULT_SNAPSHOT_INTERVAL = 100; // Every 100 messages.
|
|
27
26
|
/**
|
|
@@ -32,14 +31,13 @@ const DEFAULT_SNAPSHOT_INTERVAL = 100; // Every 100 messages.
|
|
|
32
31
|
*
|
|
33
32
|
* The core class also handles the combined ECHO and HALO state snapshots.
|
|
34
33
|
*/
|
|
35
|
-
class
|
|
36
|
-
constructor(_partyKey, _feedProvider, _modelFactory, _snapshotStore, _memberKey,
|
|
34
|
+
class PartyPipeline {
|
|
35
|
+
constructor(_partyKey, _feedProvider, _modelFactory, _snapshotStore, _memberKey, _options = {}) {
|
|
37
36
|
this._partyKey = _partyKey;
|
|
38
37
|
this._feedProvider = _feedProvider;
|
|
39
38
|
this._modelFactory = _modelFactory;
|
|
40
39
|
this._snapshotStore = _snapshotStore;
|
|
41
40
|
this._memberKey = _memberKey;
|
|
42
|
-
this._initialTimeframe = _initialTimeframe;
|
|
43
41
|
this._options = _options;
|
|
44
42
|
this._subscriptions = new util_1.SubscriptionGroup();
|
|
45
43
|
}
|
|
@@ -74,53 +72,55 @@ class PartyCore {
|
|
|
74
72
|
(0, assert_1.default)(feed, `No writable feed found for party: ${this._partyKey}`);
|
|
75
73
|
return feed;
|
|
76
74
|
}
|
|
75
|
+
get credentialsWriter() {
|
|
76
|
+
var _a, _b;
|
|
77
|
+
(0, assert_1.default)((_a = this._pipeline) === null || _a === void 0 ? void 0 : _a.outboundHaloStream, 'Party not open');
|
|
78
|
+
return (_b = this._pipeline) === null || _b === void 0 ? void 0 : _b.outboundHaloStream;
|
|
79
|
+
}
|
|
77
80
|
/**
|
|
78
81
|
* Opens the pipeline and connects the streams.
|
|
79
82
|
*/
|
|
80
|
-
async open(
|
|
83
|
+
async open(options = {}) {
|
|
81
84
|
var _a;
|
|
85
|
+
const { feedHints = [], initialTimeframe, targetTimeframe } = options;
|
|
82
86
|
if (this.isOpen) {
|
|
83
87
|
return this;
|
|
84
88
|
}
|
|
85
|
-
this._timeframeClock = new database_1.TimeframeClock(
|
|
86
|
-
// Open all feeds known from metadata and open or create a writable feed to the party.
|
|
87
|
-
await this._feedProvider.openKnownFeeds();
|
|
89
|
+
this._timeframeClock = new database_1.TimeframeClock(initialTimeframe);
|
|
88
90
|
const writableFeed = await this._feedProvider.createOrOpenWritableFeed();
|
|
89
91
|
if (!this._partyProcessor) {
|
|
90
|
-
this._partyProcessor = new
|
|
92
|
+
this._partyProcessor = new _1.PartyProcessor(this._partyKey);
|
|
91
93
|
}
|
|
92
94
|
// Automatically open new admitted feeds.
|
|
93
95
|
this._subscriptions.push(this._partyProcessor.feedAdded.on(feed => {
|
|
94
96
|
void this._feedProvider.createOrOpenReadOnlyFeed(feed);
|
|
95
97
|
}));
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
await this._partyProcessor.takeHints([{ type: credentials_1.KeyType.FEED, publicKey: writableFeed.key }]);
|
|
99
|
-
if (keyHints.length > 0) {
|
|
100
|
-
await this._partyProcessor.takeHints(keyHints);
|
|
98
|
+
if (feedHints.length > 0) {
|
|
99
|
+
await this._partyProcessor.takeHints(feedHints.map(publicKey => ({ publicKey, type: credentials_1.KeyType.FEED })));
|
|
101
100
|
}
|
|
102
101
|
//
|
|
103
102
|
// Pipeline
|
|
104
103
|
//
|
|
105
|
-
const iterator = await this._feedProvider.createIterator((0,
|
|
106
|
-
this._pipeline = new
|
|
107
|
-
// TODO(burdon): Support read-only parties.
|
|
108
|
-
const [readStream, writeStream] = await this._pipeline.open();
|
|
109
|
-
// Must happen after open.
|
|
110
|
-
if (this._pipeline.outboundHaloStream) {
|
|
111
|
-
this._partyProcessor.setOutboundStream(this._pipeline.outboundHaloStream);
|
|
112
|
-
}
|
|
104
|
+
const iterator = await this._feedProvider.createIterator((0, _1.createMessageSelector)(this._partyProcessor, this._timeframeClock), createFeedSelector(this._partyProcessor, feedHints), initialTimeframe);
|
|
105
|
+
this._pipeline = new _1.FeedMuxer(this._partyProcessor, iterator, this._timeframeClock, (0, echo_protocol_1.createFeedWriter)(writableFeed.feed), this._options);
|
|
113
106
|
//
|
|
114
107
|
// Database
|
|
115
108
|
//
|
|
116
|
-
|
|
109
|
+
const databaseBackend = new database_1.FeedDatabaseBackend(this._pipeline.outboundEchoStream, this._databaseSnapshot, { snapshots: true });
|
|
110
|
+
this._database = new database_1.Database(this._modelFactory, databaseBackend, this._memberKey);
|
|
111
|
+
// Open pipeline and connect it to the database.
|
|
117
112
|
await this._database.initialize();
|
|
113
|
+
this._pipeline.setEchoProcessor(databaseBackend.echoProcessor);
|
|
114
|
+
await this._pipeline.open();
|
|
118
115
|
// TODO(burdon): Propagate errors.
|
|
119
116
|
this._subscriptions.push(this._pipeline.errors.on(err => console.error(err)));
|
|
120
117
|
if (this._options.snapshots) {
|
|
121
118
|
(0, snapshots_1.createAutomaticSnapshots)(this, // TODO(burdon): Don't pass `this`.
|
|
122
119
|
this._timeframeClock, this._snapshotStore, (_a = this._options.snapshotInterval) !== null && _a !== void 0 ? _a : DEFAULT_SNAPSHOT_INTERVAL);
|
|
123
120
|
}
|
|
121
|
+
if (targetTimeframe) {
|
|
122
|
+
await this._timeframeClock.waitUntilReached(targetTimeframe);
|
|
123
|
+
}
|
|
124
124
|
return this;
|
|
125
125
|
}
|
|
126
126
|
/**
|
|
@@ -158,7 +158,7 @@ class PartyCore {
|
|
|
158
158
|
(0, assert_1.default)(!this._partyProcessor, 'Party processor already exists.');
|
|
159
159
|
(0, assert_1.default)(snapshot.halo);
|
|
160
160
|
(0, assert_1.default)(snapshot.database);
|
|
161
|
-
this._partyProcessor = new
|
|
161
|
+
this._partyProcessor = new _1.PartyProcessor(this._partyKey);
|
|
162
162
|
await this._partyProcessor.restoreFromSnapshot(snapshot.halo);
|
|
163
163
|
this._databaseSnapshot = snapshot.database;
|
|
164
164
|
}
|
|
@@ -166,9 +166,10 @@ class PartyCore {
|
|
|
166
166
|
__decorate([
|
|
167
167
|
async_1.synchronized,
|
|
168
168
|
(0, debug_1.timed)(1000)
|
|
169
|
-
],
|
|
169
|
+
], PartyPipeline.prototype, "open", null);
|
|
170
170
|
__decorate([
|
|
171
171
|
async_1.synchronized
|
|
172
|
-
],
|
|
173
|
-
exports.
|
|
174
|
-
|
|
172
|
+
], PartyPipeline.prototype, "close", null);
|
|
173
|
+
exports.PartyPipeline = PartyPipeline;
|
|
174
|
+
const createFeedSelector = (partyProcessor, hints) => feed => hints.some(hint => hint.equals(feed.key)) || partyProcessor.isFeedAdmitted(feed.key);
|
|
175
|
+
//# sourceMappingURL=party-pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"party-pipeline.js","sourceRoot":"","sources":["../../../src/pipeline/party-pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"party-pipeline.test.d.ts","sourceRoot":"","sources":["../../../src/pipeline/party-pipeline.test.ts"],"names":[],"mappings":""}
|