@dxos/echo-db 2.33.5-dev.b9f5bea6 → 2.33.5-dev.cb045a79

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 (138) hide show
  1. package/dist/src/api/index.js +5 -1
  2. package/dist/src/api/index.js.map +1 -1
  3. package/dist/src/echo.d.ts.map +1 -1
  4. package/dist/src/echo.js +1 -1
  5. package/dist/src/echo.js.map +1 -1
  6. package/dist/src/echo.test.js +0 -4
  7. package/dist/src/echo.test.js.map +1 -1
  8. package/dist/src/halo/halo-factory.d.ts +2 -2
  9. package/dist/src/halo/halo-factory.d.ts.map +1 -1
  10. package/dist/src/halo/halo-factory.js +2 -1
  11. package/dist/src/halo/halo-factory.js.map +1 -1
  12. package/dist/src/halo/halo-party.d.ts +2 -2
  13. package/dist/src/halo/halo-party.d.ts.map +1 -1
  14. package/dist/src/halo/halo-party.js +1 -1
  15. package/dist/src/halo/halo-party.js.map +1 -1
  16. package/dist/src/halo/halo.d.ts +2 -2
  17. package/dist/src/halo/halo.d.ts.map +1 -1
  18. package/dist/src/halo/index.js +5 -1
  19. package/dist/src/halo/index.js.map +1 -1
  20. package/dist/src/index.js +5 -1
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/invitations/index.js +5 -1
  23. package/dist/src/invitations/index.js.map +1 -1
  24. package/dist/src/invitations/invitation-descriptor.js +5 -1
  25. package/dist/src/invitations/invitation-descriptor.js.map +1 -1
  26. package/dist/src/packlets/database/data-mirror.test.js +2 -2
  27. package/dist/src/packlets/database/data-mirror.test.js.map +1 -1
  28. package/dist/src/packlets/database/database-backend.d.ts +4 -5
  29. package/dist/src/packlets/database/database-backend.d.ts.map +1 -1
  30. package/dist/src/packlets/database/database-backend.js +5 -6
  31. package/dist/src/packlets/database/database-backend.js.map +1 -1
  32. package/dist/src/packlets/database/index.js +5 -1
  33. package/dist/src/packlets/database/index.js.map +1 -1
  34. package/dist/src/packlets/database/item-demuxer.d.ts +2 -2
  35. package/dist/src/packlets/database/item-demuxer.d.ts.map +1 -1
  36. package/dist/src/packlets/database/item-demuxer.js +2 -3
  37. package/dist/src/packlets/database/item-demuxer.js.map +1 -1
  38. package/dist/src/packlets/database/item-demuxer.test.js +13 -9
  39. package/dist/src/packlets/database/item-demuxer.test.js.map +1 -1
  40. package/dist/src/packlets/database/selection/index.js +5 -1
  41. package/dist/src/packlets/database/selection/index.js.map +1 -1
  42. package/dist/src/packlets/database/testing.d.ts.map +1 -1
  43. package/dist/src/packlets/database/testing.js +3 -4
  44. package/dist/src/packlets/database/testing.js.map +1 -1
  45. package/dist/src/packlets/database/timeframe-clock.d.ts +1 -0
  46. package/dist/src/packlets/database/timeframe-clock.d.ts.map +1 -1
  47. package/dist/src/packlets/database/timeframe-clock.js +3 -0
  48. package/dist/src/packlets/database/timeframe-clock.js.map +1 -1
  49. package/dist/src/parties/data-party.d.ts +5 -4
  50. package/dist/src/parties/data-party.d.ts.map +1 -1
  51. package/dist/src/parties/data-party.js +22 -5
  52. package/dist/src/parties/data-party.js.map +1 -1
  53. package/dist/src/parties/data-party.test.js +20 -1
  54. package/dist/src/parties/data-party.test.js.map +1 -1
  55. package/dist/src/parties/index.js +5 -1
  56. package/dist/src/parties/index.js.map +1 -1
  57. package/dist/src/parties/party-factory.d.ts +4 -3
  58. package/dist/src/parties/party-factory.d.ts.map +1 -1
  59. package/dist/src/parties/party-factory.js +13 -9
  60. package/dist/src/parties/party-factory.js.map +1 -1
  61. package/dist/src/parties/party-manager.d.ts.map +1 -1
  62. package/dist/src/parties/party-manager.js +6 -3
  63. package/dist/src/parties/party-manager.js.map +1 -1
  64. package/dist/src/parties/party-manager.test.js +2 -2
  65. package/dist/src/parties/party-manager.test.js.map +1 -1
  66. package/dist/src/pipeline/{pipeline.d.ts → feed-muxer.d.ts} +8 -11
  67. package/dist/src/pipeline/feed-muxer.d.ts.map +1 -0
  68. package/dist/src/pipeline/{pipeline.js → feed-muxer.js} +33 -40
  69. package/dist/src/pipeline/feed-muxer.js.map +1 -0
  70. package/dist/src/pipeline/feed-muxer.test.d.ts +2 -0
  71. package/dist/src/pipeline/feed-muxer.test.d.ts.map +1 -0
  72. package/dist/src/pipeline/{pipeline.test.js → feed-muxer.test.js} +16 -13
  73. package/dist/src/pipeline/feed-muxer.test.js.map +1 -0
  74. package/dist/src/pipeline/index.d.ts +2 -2
  75. package/dist/src/pipeline/index.d.ts.map +1 -1
  76. package/dist/src/pipeline/index.js +7 -3
  77. package/dist/src/pipeline/index.js.map +1 -1
  78. package/dist/src/pipeline/metadata-store.d.ts +2 -1
  79. package/dist/src/pipeline/metadata-store.d.ts.map +1 -1
  80. package/dist/src/pipeline/metadata-store.js +6 -0
  81. package/dist/src/pipeline/metadata-store.js.map +1 -1
  82. package/dist/src/pipeline/party-feed-provider.d.ts +2 -3
  83. package/dist/src/pipeline/party-feed-provider.d.ts.map +1 -1
  84. package/dist/src/pipeline/party-feed-provider.js +2 -17
  85. package/dist/src/pipeline/party-feed-provider.js.map +1 -1
  86. package/dist/src/pipeline/{party-core.d.ts → party-pipeline.d.ts} +6 -6
  87. package/dist/src/pipeline/party-pipeline.d.ts.map +1 -0
  88. package/dist/src/pipeline/{party-core.js → party-pipeline.js} +21 -17
  89. package/dist/src/pipeline/party-pipeline.js.map +1 -0
  90. package/dist/src/pipeline/party-pipeline.test.d.ts +2 -0
  91. package/dist/src/pipeline/party-pipeline.test.d.ts.map +1 -0
  92. package/dist/src/pipeline/{party-core.test.js → party-pipeline.test.js} +33 -16
  93. package/dist/src/pipeline/party-pipeline.test.js.map +1 -0
  94. package/dist/src/protocol/index.js +5 -1
  95. package/dist/src/protocol/index.js.map +1 -1
  96. package/dist/src/snapshots/index.js +5 -1
  97. package/dist/src/snapshots/index.js.map +1 -1
  98. package/dist/src/snapshots/snapshot-generator.d.ts +2 -2
  99. package/dist/src/snapshots/snapshot-generator.d.ts.map +1 -1
  100. package/dist/src/snapshots/snapshot-generator.js.map +1 -1
  101. package/dist/src/testing/index.js +5 -1
  102. package/dist/src/testing/index.js.map +1 -1
  103. package/dist/tsconfig.tsbuildinfo +1 -1
  104. package/package.json +18 -18
  105. package/src/echo.test.ts +0 -4
  106. package/src/echo.ts +1 -0
  107. package/src/halo/halo-factory.ts +4 -3
  108. package/src/halo/halo-party.ts +4 -4
  109. package/src/halo/halo.ts +2 -2
  110. package/src/packlets/database/data-mirror.test.ts +2 -2
  111. package/src/packlets/database/database-backend.ts +7 -6
  112. package/src/packlets/database/item-demuxer.test.ts +20 -18
  113. package/src/packlets/database/item-demuxer.ts +5 -4
  114. package/src/packlets/database/testing.ts +3 -6
  115. package/src/packlets/database/timeframe-clock.ts +4 -0
  116. package/src/parties/data-party.test.ts +33 -3
  117. package/src/parties/data-party.ts +27 -6
  118. package/src/parties/party-factory.ts +17 -14
  119. package/src/parties/party-manager.test.ts +3 -1
  120. package/src/parties/party-manager.ts +7 -2
  121. package/src/pipeline/{pipeline.test.ts → feed-muxer.test.ts} +19 -14
  122. package/src/pipeline/{pipeline.ts → feed-muxer.ts} +38 -51
  123. package/src/pipeline/index.ts +2 -2
  124. package/src/pipeline/metadata-store.ts +7 -1
  125. package/src/pipeline/party-feed-provider.ts +3 -16
  126. package/src/pipeline/{party-core.test.ts → party-pipeline.test.ts} +31 -9
  127. package/src/pipeline/{party-core.ts → party-pipeline.ts} +27 -14
  128. package/src/snapshots/snapshot-generator.ts +2 -2
  129. package/dist/src/pipeline/party-core.d.ts.map +0 -1
  130. package/dist/src/pipeline/party-core.js.map +0 -1
  131. package/dist/src/pipeline/party-core.test.d.ts +0 -2
  132. package/dist/src/pipeline/party-core.test.d.ts.map +0 -1
  133. package/dist/src/pipeline/party-core.test.js.map +0 -1
  134. package/dist/src/pipeline/pipeline.d.ts.map +0 -1
  135. package/dist/src/pipeline/pipeline.js.map +0 -1
  136. package/dist/src/pipeline/pipeline.test.d.ts +0 -2
  137. package/dist/src/pipeline/pipeline.test.d.ts.map +0 -1
  138. package/dist/src/pipeline/pipeline.test.js.map +0 -1
@@ -18,11 +18,11 @@ const model_factory_1 = require("@dxos/model-factory");
18
18
  const random_access_multi_storage_1 = require("@dxos/random-access-multi-storage");
19
19
  const util_1 = require("@dxos/util");
20
20
  const database_1 = require("../packlets/database");
21
+ const feed_muxer_1 = require("./feed-muxer");
21
22
  const party_processor_1 = require("./party-processor");
22
- const pipeline_1 = require("./pipeline");
23
23
  const log = (0, debug_1.default)('dxos:echo:pipeline:test');
24
24
  // TODO(burdon): Test read-only.
25
- describe('pipeline', () => {
25
+ describe('FeedMuxer', () => {
26
26
  (0, mocha_1.it)('streams', async () => {
27
27
  const storage = (0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM);
28
28
  const feedStore = new feed_store_1.FeedStore(storage.directory('feed'), { valueEncoding: echo_protocol_1.codec });
@@ -54,19 +54,19 @@ describe('pipeline', () => {
54
54
  seq: 0
55
55
  }
56
56
  });
57
- const pipeline = new pipeline_1.Pipeline(partyProcessor, feedReadStream, new database_1.TimeframeClock());
58
- const [readStream] = await pipeline.open();
59
- (0, expect_1.default)(readStream).toBeTruthy();
60
57
  //
61
58
  // Pipeline consumer.
62
59
  // TODO(burdon): Check order (re-use feed-store-iterator test logic).
63
60
  //
64
61
  const numMessages = 5;
65
62
  const [counter, updateCounter] = (0, async_1.latch)(numMessages);
66
- readStream.pipe((0, feed_store_1.createWritable)(async (message) => {
63
+ const echoProcessor = async (message) => {
67
64
  log('Processed:', JSON.stringify(message, util_1.jsonReplacer, 2));
68
65
  updateCounter();
69
- }));
66
+ };
67
+ const pipeline = new feed_muxer_1.FeedMuxer(partyProcessor, feedReadStream, new database_1.TimeframeClock());
68
+ pipeline.setEchoProcessor(echoProcessor);
69
+ await pipeline.open();
70
70
  //
71
71
  // Write directly to feed store.
72
72
  // TODO(burdon): Write to multiple feeds.
@@ -95,10 +95,13 @@ describe('pipeline', () => {
95
95
  type: credentials_1.KeyType.FEED
96
96
  });
97
97
  const partyProcessor = new party_processor_1.PartyProcessor(partyKey.publicKey);
98
- const pipeline = new pipeline_1.Pipeline(partyProcessor, feedReadStream, new database_1.TimeframeClock(), (0, echo_protocol_1.createFeedWriter)(feed));
98
+ const echoMessages = [];
99
+ const echoProcessor = async (msg) => {
100
+ echoMessages.push(msg);
101
+ };
102
+ const pipeline = new feed_muxer_1.FeedMuxer(partyProcessor, feedReadStream, new database_1.TimeframeClock(), (0, echo_protocol_1.createFeedWriter)(feed));
103
+ pipeline.setEchoProcessor(echoProcessor);
99
104
  await pipeline.open();
100
- const writable = new feed_store_1.WritableArray();
101
- pipeline.inboundEchoStream.pipe(writable);
102
105
  await pipeline.outboundHaloStream.write((0, credentials_1.createPartyGenesisMessage)(keyring, partyKey, feedKey.publicKey, identityKey));
103
106
  await (0, async_1.waitForCondition)(() => !partyProcessor.genesisRequired);
104
107
  await pipeline.outboundEchoStream.write({
@@ -107,9 +110,9 @@ describe('pipeline', () => {
107
110
  itemType: 'foo'
108
111
  }
109
112
  });
110
- await (0, async_1.waitForCondition)(() => writable.objects.length === 1);
113
+ await (0, async_1.waitForCondition)(() => echoMessages.length === 1);
111
114
  (0, expect_1.default)(partyProcessor.genesisRequired).toEqual(false);
112
- (0, expect_1.default)(writable.objects[0].data).toEqual({
115
+ (0, expect_1.default)(echoMessages[0].data).toEqual({
113
116
  itemId: '123',
114
117
  genesis: {
115
118
  itemType: 'foo'
@@ -117,4 +120,4 @@ describe('pipeline', () => {
117
120
  });
118
121
  });
119
122
  });
120
- //# sourceMappingURL=pipeline.test.js.map
123
+ //# sourceMappingURL=feed-muxer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feed-muxer.test.js","sourceRoot":"","sources":["../../../src/pipeline/feed-muxer.test.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ export * from './message-selector';
2
2
  export * from './party-feed-provider';
3
3
  export * from './party-processor';
4
4
  export * from '../protocol/party-protocol-factory';
5
- export * from './pipeline';
6
- export * from './party-core';
5
+ export * from './feed-muxer';
6
+ export * from './party-pipeline';
7
7
  export * from './metadata-store';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pipeline/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oCAAoC,CAAC;AACnD,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pipeline/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oCAAoC,CAAC;AACnD,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
@@ -4,7 +4,11 @@
4
4
  //
5
5
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
6
  if (k2 === undefined) k2 = k;
7
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
8
12
  }) : (function(o, m, k, k2) {
9
13
  if (k2 === undefined) k2 = k;
10
14
  o[k2] = m[k];
@@ -17,7 +21,7 @@ __exportStar(require("./message-selector"), exports);
17
21
  __exportStar(require("./party-feed-provider"), exports);
18
22
  __exportStar(require("./party-processor"), exports);
19
23
  __exportStar(require("../protocol/party-protocol-factory"), exports);
20
- __exportStar(require("./pipeline"), exports);
21
- __exportStar(require("./party-core"), exports);
24
+ __exportStar(require("./feed-muxer"), exports);
25
+ __exportStar(require("./party-pipeline"), exports);
22
26
  __exportStar(require("./metadata-store"), exports);
23
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pipeline/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,qDAAmC;AACnC,wDAAsC;AACtC,oDAAkC;AAClC,qEAAmD;AACnD,6CAA2B;AAC3B,+CAA6B;AAC7B,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pipeline/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,qDAAmC;AACnC,wDAAsC;AACtC,oDAAkC;AAClC,qEAAmD;AACnD,+CAA6B;AAC7B,mDAAiC;AACjC,mDAAiC"}
@@ -1,5 +1,5 @@
1
1
  import { PublicKey } from '@dxos/crypto';
2
- import { PartyMetadata } from '@dxos/echo-protocol';
2
+ import { PartyMetadata, Timeframe } from '@dxos/echo-protocol';
3
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.
@@ -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;AAC1E,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;CAO3D"}
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"}
@@ -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":"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"}
1
+ {"version":3,"file":"metadata-store.js","sourceRoot":"","sources":["../../../src/pipeline/metadata-store.ts"],"names":[],"mappings":"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"}
@@ -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;AACpF,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,cAAc;IAad,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,gBAAgB,CAAC,EAAE,SAAS;CAkBrF"}
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(() => true, messageSelector, initialTimeframe !== null && initialTimeframe !== void 0 ? initialTimeframe : new echo_protocol_1.Timeframe());
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":"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"}
1
+ {"version":3,"file":"party-feed-provider.js","sourceRoot":"","sources":["../../../src/pipeline/party-feed-provider.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,10 @@ import { Message as HaloMessage } from '@dxos/credentials';
2
2
  import { PublicKey } from '@dxos/crypto';
3
3
  import { FeedWriter, PartyKey, PartySnapshot, Timeframe } from '@dxos/echo-protocol';
4
4
  import { ModelFactory } from '@dxos/model-factory';
5
+ import { PartyProcessor, PartyFeedProvider, FeedMuxer } from '.';
5
6
  import { Database } from '../packlets/database';
6
- import { PartyProcessor, PartyFeedProvider, Pipeline } from '../pipeline';
7
7
  import { SnapshotStore } from '../snapshots';
8
- export interface PartyOptions {
8
+ export interface PipelineOptions {
9
9
  readLogger?: (msg: any) => void;
10
10
  writeLogger?: (msg: any) => void;
11
11
  readOnly?: boolean;
@@ -35,7 +35,7 @@ export interface OpenOptions {
35
35
  *
36
36
  * The core class also handles the combined ECHO and HALO state snapshots.
37
37
  */
38
- export declare class PartyCore {
38
+ export declare class PartyPipeline {
39
39
  private readonly _partyKey;
40
40
  private readonly _feedProvider;
41
41
  private readonly _modelFactory;
@@ -51,12 +51,12 @@ export declare class PartyCore {
51
51
  private _pipeline?;
52
52
  private _partyProcessor?;
53
53
  private _timeframeClock?;
54
- constructor(_partyKey: PartyKey, _feedProvider: PartyFeedProvider, _modelFactory: ModelFactory, _snapshotStore: SnapshotStore, _memberKey: PublicKey, _options?: PartyOptions);
54
+ constructor(_partyKey: PartyKey, _feedProvider: PartyFeedProvider, _modelFactory: ModelFactory, _snapshotStore: SnapshotStore, _memberKey: PublicKey, _options?: PipelineOptions);
55
55
  get key(): PartyKey;
56
56
  get isOpen(): boolean;
57
57
  get database(): Database;
58
58
  get processor(): PartyProcessor;
59
- get pipeline(): Pipeline;
59
+ get pipeline(): FeedMuxer;
60
60
  get timeframe(): Timeframe;
61
61
  get timeframeUpdate(): import("@dxos/async").Event<Timeframe>;
62
62
  getWriteFeed(): Promise<import("@dxos/feed-store").FeedDescriptor>;
@@ -75,4 +75,4 @@ export declare class PartyCore {
75
75
  createSnapshot(): PartySnapshot;
76
76
  restoreFromSnapshot(snapshot: PartySnapshot): Promise<void>;
77
77
  }
78
- //# sourceMappingURL=party-core.d.ts.map
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,15 +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.PartyCore = void 0;
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 _1 = require(".");
22
23
  const database_1 = require("../packlets/database");
23
- const pipeline_1 = require("../pipeline");
24
24
  const snapshots_1 = require("../snapshots");
25
25
  const DEFAULT_SNAPSHOT_INTERVAL = 100; // Every 100 messages.
26
26
  /**
@@ -31,7 +31,7 @@ const DEFAULT_SNAPSHOT_INTERVAL = 100; // Every 100 messages.
31
31
  *
32
32
  * The core class also handles the combined ECHO and HALO state snapshots.
33
33
  */
34
- class PartyCore {
34
+ class PartyPipeline {
35
35
  constructor(_partyKey, _feedProvider, _modelFactory, _snapshotStore, _memberKey, _options = {}) {
36
36
  this._partyKey = _partyKey;
37
37
  this._feedProvider = _feedProvider;
@@ -82,16 +82,14 @@ class PartyCore {
82
82
  */
83
83
  async open(options = {}) {
84
84
  var _a;
85
- const { feedHints = [], initialTimeframe } = options;
85
+ const { feedHints = [], initialTimeframe, targetTimeframe } = options;
86
86
  if (this.isOpen) {
87
87
  return this;
88
88
  }
89
89
  this._timeframeClock = new database_1.TimeframeClock(initialTimeframe);
90
- // Open all feeds known from metadata and open or create a writable feed to the party.
91
- await this._feedProvider.openKnownFeeds();
92
90
  const writableFeed = await this._feedProvider.createOrOpenWritableFeed();
93
91
  if (!this._partyProcessor) {
94
- this._partyProcessor = new pipeline_1.PartyProcessor(this._partyKey);
92
+ this._partyProcessor = new _1.PartyProcessor(this._partyKey);
95
93
  }
96
94
  // Automatically open new admitted feeds.
97
95
  this._subscriptions.push(this._partyProcessor.feedAdded.on(feed => {
@@ -103,21 +101,26 @@ class PartyCore {
103
101
  //
104
102
  // Pipeline
105
103
  //
106
- const iterator = await this._feedProvider.createIterator((0, pipeline_1.createMessageSelector)(this._partyProcessor, this._timeframeClock), initialTimeframe);
107
- this._pipeline = new pipeline_1.Pipeline(this._partyProcessor, iterator, this._timeframeClock, (0, echo_protocol_1.createFeedWriter)(writableFeed.feed), this._options);
108
- // TODO(burdon): Support read-only parties.
109
- const [readStream, writeStream] = await this._pipeline.open();
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);
110
106
  //
111
107
  // Database
112
108
  //
113
- this._database = new database_1.Database(this._modelFactory, new database_1.FeedDatabaseBackend(readStream, writeStream, this._databaseSnapshot, { snapshots: true }), this._memberKey);
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.
114
112
  await this._database.initialize();
113
+ this._pipeline.setEchoProcessor(databaseBackend.echoProcessor);
114
+ await this._pipeline.open();
115
115
  // TODO(burdon): Propagate errors.
116
116
  this._subscriptions.push(this._pipeline.errors.on(err => console.error(err)));
117
117
  if (this._options.snapshots) {
118
118
  (0, snapshots_1.createAutomaticSnapshots)(this, // TODO(burdon): Don't pass `this`.
119
119
  this._timeframeClock, this._snapshotStore, (_a = this._options.snapshotInterval) !== null && _a !== void 0 ? _a : DEFAULT_SNAPSHOT_INTERVAL);
120
120
  }
121
+ if (targetTimeframe) {
122
+ await this._timeframeClock.waitUntilReached(targetTimeframe);
123
+ }
121
124
  return this;
122
125
  }
123
126
  /**
@@ -155,7 +158,7 @@ class PartyCore {
155
158
  (0, assert_1.default)(!this._partyProcessor, 'Party processor already exists.');
156
159
  (0, assert_1.default)(snapshot.halo);
157
160
  (0, assert_1.default)(snapshot.database);
158
- this._partyProcessor = new pipeline_1.PartyProcessor(this._partyKey);
161
+ this._partyProcessor = new _1.PartyProcessor(this._partyKey);
159
162
  await this._partyProcessor.restoreFromSnapshot(snapshot.halo);
160
163
  this._databaseSnapshot = snapshot.database;
161
164
  }
@@ -163,9 +166,10 @@ class PartyCore {
163
166
  __decorate([
164
167
  async_1.synchronized,
165
168
  (0, debug_1.timed)(1000)
166
- ], PartyCore.prototype, "open", null);
169
+ ], PartyPipeline.prototype, "open", null);
167
170
  __decorate([
168
171
  async_1.synchronized
169
- ], PartyCore.prototype, "close", null);
170
- exports.PartyCore = PartyCore;
171
- //# sourceMappingURL=party-core.js.map
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=party-pipeline.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"party-pipeline.test.d.ts","sourceRoot":"","sources":["../../../src/pipeline/party-pipeline.test.ts"],"names":[],"mappings":""}
@@ -19,24 +19,24 @@ const model_factory_1 = require("@dxos/model-factory");
19
19
  const object_model_1 = require("@dxos/object-model");
20
20
  const random_access_multi_storage_1 = require("@dxos/random-access-multi-storage");
21
21
  const testutils_1 = require("@dxos/testutils");
22
- const pipeline_1 = require("../pipeline");
22
+ const _1 = require(".");
23
23
  const replicator_plugin_1 = require("../protocol/replicator-plugin");
24
24
  const snapshots_1 = require("../snapshots");
25
- const party_core_1 = require("./party-core");
26
- describe('PartyCore', () => {
25
+ const party_pipeline_1 = require("./party-pipeline");
26
+ describe('PartyPipeline', () => {
27
27
  const setup = async () => {
28
28
  const storage = (0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM);
29
29
  const feedStore = new feed_store_1.FeedStore(storage.directory('feed'), { valueEncoding: echo_protocol_1.codec });
30
30
  (0, testutils_1.afterTest)(async () => feedStore.close());
31
31
  const keyring = new credentials_1.Keyring();
32
- const metadataStore = new pipeline_1.MetadataStore(storage.directory('metadata'));
32
+ const metadataStore = new _1.MetadataStore(storage.directory('metadata'));
33
33
  const modelFactory = new model_factory_1.ModelFactory().registerModel(object_model_1.ObjectModel);
34
34
  const snapshotStore = new snapshots_1.SnapshotStore(storage.directory('snapshots'));
35
35
  const partyKey = await keyring.createKeyRecord({ type: credentials_1.KeyType.PARTY });
36
- const partyFeedProvider = new pipeline_1.PartyFeedProvider(metadataStore, keyring, feedStore, partyKey.publicKey);
37
- const party = new party_core_1.PartyCore(partyKey.publicKey, partyFeedProvider, modelFactory, snapshotStore, crypto_1.PublicKey.random());
36
+ const partyFeedProvider = new _1.PartyFeedProvider(metadataStore, keyring, feedStore, partyKey.publicKey);
37
+ const party = new party_pipeline_1.PartyPipeline(partyKey.publicKey, partyFeedProvider, modelFactory, snapshotStore, crypto_1.PublicKey.random());
38
38
  const feed = await partyFeedProvider.createOrOpenWritableFeed();
39
- await party.open();
39
+ await party.open({ feedHints: [feed.key] });
40
40
  (0, testutils_1.afterTest)(async () => party.close());
41
41
  // PartyGenesis (self-signed by Party).
42
42
  await party.credentialsWriter.write((0, credentials_1.createPartyGenesisMessage)(keyring, partyKey, feed.key, partyKey));
@@ -56,7 +56,7 @@ describe('PartyCore', () => {
56
56
  (0, expect_1.default)(item.model.get('foo')).toEqual('bar');
57
57
  });
58
58
  (0, mocha_1.it)('create item with parent and then reload', async () => {
59
- const { party } = await setup();
59
+ const { party, feedKey } = await setup();
60
60
  {
61
61
  const parent = await party.database.createItem({ model: object_model_1.ObjectModel, type: 'parent' });
62
62
  const child = await party.database.createItem({
@@ -68,7 +68,7 @@ describe('PartyCore', () => {
68
68
  (0, expect_1.default)(parent.children).toContain(child);
69
69
  }
70
70
  await party.close();
71
- await party.open();
71
+ await party.open({ feedHints: [feedKey] });
72
72
  {
73
73
  await party.database.select().exec().update.waitFor(result => result.entities.length === 2);
74
74
  const parent = party.database.select({ type: 'parent' }).exec().entities[0];
@@ -90,13 +90,13 @@ describe('PartyCore', () => {
90
90
  const feedStore = new feed_store_1.FeedStore(storage.directory('feed'), { valueEncoding: echo_protocol_1.codec });
91
91
  (0, testutils_1.afterTest)(async () => feedStore.close());
92
92
  const keyring = new credentials_1.Keyring();
93
- const metadataStore = new pipeline_1.MetadataStore(storage.directory('metadata'));
93
+ const metadataStore = new _1.MetadataStore(storage.directory('metadata'));
94
94
  const modelFactory = new model_factory_1.ModelFactory().registerModel(object_model_1.ObjectModel);
95
95
  const snapshotStore = new snapshots_1.SnapshotStore(storage.directory('snapshots'));
96
96
  const partyKey = await keyring.createKeyRecord({ type: credentials_1.KeyType.PARTY });
97
- const partyFeedProvider = new pipeline_1.PartyFeedProvider(metadataStore, keyring, feedStore, partyKey.publicKey);
97
+ const partyFeedProvider = new _1.PartyFeedProvider(metadataStore, keyring, feedStore, partyKey.publicKey);
98
98
  const otherFeedKey = crypto_1.PublicKey.random();
99
- const party = new party_core_1.PartyCore(partyKey.publicKey, partyFeedProvider, modelFactory, snapshotStore, crypto_1.PublicKey.random());
99
+ const party = new party_pipeline_1.PartyPipeline(partyKey.publicKey, partyFeedProvider, modelFactory, snapshotStore, crypto_1.PublicKey.random());
100
100
  await partyFeedProvider.createOrOpenWritableFeed();
101
101
  const feedOpened = feedStore.feedOpenedEvent.waitForCount(1);
102
102
  await party.open({ feedHints: [otherFeedKey] });
@@ -161,16 +161,33 @@ describe('PartyCore', () => {
161
161
  }));
162
162
  await (0, async_1.promiseTimeout)(party.database.waitForItem({ id: itemId }), 1000, new Error('timeout'));
163
163
  });
164
+ (0, mocha_1.it)('wait to reach specific timeframe', async () => {
165
+ const { party, feedKey } = await setup();
166
+ {
167
+ const parent = await party.database.createItem({ model: object_model_1.ObjectModel, type: 'parent' });
168
+ const child = await party.database.createItem({
169
+ model: object_model_1.ObjectModel,
170
+ parent: parent.id,
171
+ type: 'child'
172
+ });
173
+ (0, expect_1.default)(child.parent).toEqual(parent);
174
+ (0, expect_1.default)(parent.children).toContain(child);
175
+ }
176
+ const timeframe = party.timeframe;
177
+ (0, expect_1.default)(timeframe.isEmpty()).toBeFalsy();
178
+ await party.close();
179
+ await party.open({ feedHints: [feedKey], targetTimeframe: timeframe });
180
+ });
164
181
  (0, mocha_1.it)('two instances replicating', async () => {
165
182
  const peer1 = await setup();
166
183
  const storage = (0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM);
167
184
  const feedStore = new feed_store_1.FeedStore(storage.directory('feed'), { valueEncoding: echo_protocol_1.codec });
168
185
  (0, testutils_1.afterTest)(async () => feedStore.close());
169
- const metadataStore = new pipeline_1.MetadataStore(storage.directory('metadata'));
186
+ const metadataStore = new _1.MetadataStore(storage.directory('metadata'));
170
187
  const modelFactory = new model_factory_1.ModelFactory().registerModel(object_model_1.ObjectModel);
171
188
  const snapshotStore = new snapshots_1.SnapshotStore(storage.directory('snapshots'));
172
- const partyFeedProvider = new pipeline_1.PartyFeedProvider(metadataStore, peer1.keyring, feedStore, peer1.party.key);
173
- const party2 = new party_core_1.PartyCore(peer1.party.key, partyFeedProvider, modelFactory, snapshotStore, crypto_1.PublicKey.random());
189
+ const partyFeedProvider = new _1.PartyFeedProvider(metadataStore, peer1.keyring, feedStore, peer1.party.key);
190
+ const party2 = new party_pipeline_1.PartyPipeline(peer1.party.key, partyFeedProvider, modelFactory, snapshotStore, crypto_1.PublicKey.random());
174
191
  const feed2 = await partyFeedProvider.createOrOpenWritableFeed();
175
192
  await peer1.party.credentialsWriter.write((0, credentials_1.createFeedAdmitMessage)(peer1.keyring, peer1.party.key, feed2.key, [peer1.partyKey]));
176
193
  await party2.open({
@@ -182,4 +199,4 @@ describe('PartyCore', () => {
182
199
  await (0, async_1.promiseTimeout)(party2.database.waitForItem({ id: item1.id }), 1000, new Error('timeout'));
183
200
  });
184
201
  });
185
- //# sourceMappingURL=party-core.test.js.map
202
+ //# sourceMappingURL=party-pipeline.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"party-pipeline.test.js","sourceRoot":"","sources":["../../../src/pipeline/party-pipeline.test.ts"],"names":[],"mappings":"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"}
@@ -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/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"}