@dxos/echo-pipeline 0.1.41 → 0.1.45-next.45667d4

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 (74) hide show
  1. package/dist/lib/browser/{chunk-4YAT2XJW.mjs → chunk-2NGLSBL4.mjs} +1128 -1017
  2. package/dist/lib/browser/chunk-2NGLSBL4.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +1 -3
  4. package/dist/lib/browser/index.mjs.map +1 -1
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/testing/index.mjs +72 -48
  7. package/dist/lib/browser/testing/index.mjs.map +3 -3
  8. package/dist/lib/node/index.cjs +1048 -938
  9. package/dist/lib/node/index.cjs.map +4 -4
  10. package/dist/lib/node/meta.json +1 -1
  11. package/dist/lib/node/testing/index.cjs +735 -540
  12. package/dist/lib/node/testing/index.cjs.map +4 -4
  13. package/dist/types/src/dbhost/database-host.d.ts +2 -4
  14. package/dist/types/src/dbhost/database-host.d.ts.map +1 -1
  15. package/dist/types/src/dbhost/snapshot-store.d.ts +2 -0
  16. package/dist/types/src/dbhost/snapshot-store.d.ts.map +1 -1
  17. package/dist/types/src/metadata/metadata-store.d.ts +3 -2
  18. package/dist/types/src/metadata/metadata-store.d.ts.map +1 -1
  19. package/dist/types/src/pipeline/pipeline.d.ts +27 -11
  20. package/dist/types/src/pipeline/pipeline.d.ts.map +1 -1
  21. package/dist/types/src/pipeline/timeframe-clock.d.ts +1 -0
  22. package/dist/types/src/pipeline/timeframe-clock.d.ts.map +1 -1
  23. package/dist/types/src/space/auth.d.ts +4 -4
  24. package/dist/types/src/space/auth.d.ts.map +1 -1
  25. package/dist/types/src/space/control-pipeline.d.ts +2 -4
  26. package/dist/types/src/space/control-pipeline.d.ts.map +1 -1
  27. package/dist/types/src/space/data-pipeline.d.ts +19 -10
  28. package/dist/types/src/space/data-pipeline.d.ts.map +1 -1
  29. package/dist/types/src/space/index.d.ts +0 -1
  30. package/dist/types/src/space/index.d.ts.map +1 -1
  31. package/dist/types/src/space/space-manager.d.ts +14 -14
  32. package/dist/types/src/space/space-manager.d.ts.map +1 -1
  33. package/dist/types/src/space/space-protocol.d.ts +2 -2
  34. package/dist/types/src/space/space-protocol.d.ts.map +1 -1
  35. package/dist/types/src/space/space.d.ts +20 -7
  36. package/dist/types/src/space/space.d.ts.map +1 -1
  37. package/dist/types/src/testing/database-test-rig.d.ts.map +1 -1
  38. package/dist/types/src/testing/test-agent-builder.d.ts +15 -5
  39. package/dist/types/src/testing/test-agent-builder.d.ts.map +1 -1
  40. package/package.json +30 -30
  41. package/src/common/feeds.ts +2 -2
  42. package/src/dbhost/data-service-host.ts +10 -10
  43. package/src/dbhost/data-service.ts +1 -1
  44. package/src/dbhost/database-host.ts +1 -9
  45. package/src/dbhost/snapshot-store.test.ts +2 -2
  46. package/src/dbhost/snapshot-store.ts +16 -1
  47. package/src/metadata/metadata-store.ts +14 -16
  48. package/src/pipeline/message-selector.ts +1 -1
  49. package/src/pipeline/pipeline.test.ts +68 -44
  50. package/src/pipeline/pipeline.ts +118 -35
  51. package/src/pipeline/timeframe-clock.ts +8 -2
  52. package/src/space/auth.ts +6 -6
  53. package/src/space/control-pipeline.test.ts +19 -20
  54. package/src/space/control-pipeline.ts +3 -5
  55. package/src/space/data-pipeline.ts +131 -69
  56. package/src/space/index.ts +0 -1
  57. package/src/space/replication.browser.test.ts +8 -8
  58. package/src/space/space-manager.browser.test.ts +3 -3
  59. package/src/space/space-manager.ts +25 -20
  60. package/src/space/space-protocol.browser.test.ts +1 -1
  61. package/src/space/space-protocol.test.ts +6 -6
  62. package/src/space/space-protocol.ts +7 -7
  63. package/src/space/space.test.ts +137 -48
  64. package/src/space/space.ts +82 -40
  65. package/src/testing/database-test-rig.ts +25 -24
  66. package/src/testing/test-agent-builder.ts +88 -49
  67. package/src/testing/test-feed-builder.ts +1 -1
  68. package/src/testing/util.ts +15 -15
  69. package/src/tests/database-unit.test.ts +4 -4
  70. package/src/tests/database.test.ts +1 -1
  71. package/dist/lib/browser/chunk-4YAT2XJW.mjs.map +0 -7
  72. package/dist/types/src/space/genesis.d.ts +0 -5
  73. package/dist/types/src/space/genesis.d.ts.map +0 -1
  74. package/src/space/genesis.ts +0 -69
@@ -2,7 +2,6 @@ import { EchoProcessor, ItemDemuxer, ItemManager } from '@dxos/echo-db';
2
2
  import { FeedWriter } from '@dxos/feed-store';
3
3
  import { ModelFactory } from '@dxos/model-factory';
4
4
  import { DataMessage } from '@dxos/protocols/proto/dxos/echo/feed';
5
- import { EchoSnapshot } from '@dxos/protocols/proto/dxos/echo/snapshot';
6
5
  import { DataServiceHost } from './data-service-host';
7
6
  /**
8
7
  * Database backend that operates on two streams: read and write.
@@ -11,17 +10,16 @@ import { DataServiceHost } from './data-service-host';
11
10
  */
12
11
  export declare class DatabaseHost {
13
12
  private readonly _outboundStream;
14
- private readonly _snapshot?;
15
13
  private _echoProcessor;
16
14
  private _itemManager;
17
15
  _itemDemuxer: ItemDemuxer;
18
- constructor(_outboundStream: FeedWriter<DataMessage> | undefined, _snapshot?: EchoSnapshot | undefined);
16
+ constructor(_outboundStream: FeedWriter<DataMessage> | undefined);
19
17
  get isReadOnly(): boolean;
20
18
  get echoProcessor(): EchoProcessor;
21
19
  open(itemManager: ItemManager, modelFactory: ModelFactory): Promise<void>;
22
20
  close(): Promise<void>;
23
21
  getWriteStream(): FeedWriter<DataMessage> | undefined;
24
- createSnapshot(): EchoSnapshot;
22
+ createSnapshot(): import("@dxos/protocols/proto/dxos/echo/snapshot").EchoSnapshot;
25
23
  createDataServiceHost(): DataServiceHost;
26
24
  }
27
25
  //# sourceMappingURL=database-host.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"database-host.d.ts","sourceRoot":"","sources":["../../../../src/dbhost/database-host.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;GAIG;AACH,qBAAa,YAAY;IAMrB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAN7B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IAC5B,YAAY,EAAG,WAAW,CAAC;gBAGf,eAAe,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,SAAS,EACpD,SAAS,CAAC,0BAAc;IAG3C,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,aAAa,kBAEhB;IAEK,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY;IAYzD,KAAK;IAEX,cAAc,IAAI,UAAU,CAAC,WAAW,CAAC,GAAG,SAAS;IAIrD,cAAc;IAId,qBAAqB;CAGtB"}
1
+ {"version":3,"file":"database-host.d.ts","sourceRoot":"","sources":["../../../../src/dbhost/database-host.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;GAIG;AACH,qBAAa,YAAY;IAKX,OAAO,CAAC,QAAQ,CAAC,eAAe;IAJ5C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IAC5B,YAAY,EAAG,WAAW,CAAC;gBAEL,eAAe,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,SAAS;IAEjF,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,aAAa,kBAEhB;IAEK,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY;IAQzD,KAAK;IAEX,cAAc,IAAI,UAAU,CAAC,WAAW,CAAC,GAAG,SAAS;IAIrD,cAAc;IAId,qBAAqB;CAGtB"}
@@ -1,3 +1,4 @@
1
+ import { StoredSnapshotInfo } from '@dxos/protocols/proto/dxos/devtools/host';
1
2
  import { SpaceSnapshot } from '@dxos/protocols/proto/dxos/echo/snapshot';
2
3
  import { Directory } from '@dxos/random-access-storage';
3
4
  export declare class SnapshotStore {
@@ -5,5 +6,6 @@ export declare class SnapshotStore {
5
6
  constructor(_directory: Directory);
6
7
  saveSnapshot(snapshot: SpaceSnapshot): Promise<string>;
7
8
  loadSnapshot(key: string): Promise<SpaceSnapshot | undefined>;
9
+ listSnapshots(): Promise<StoredSnapshotInfo[]>;
8
10
  }
9
11
  //# sourceMappingURL=snapshot-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-store.d.ts","sourceRoot":"","sources":["../../../../src/dbhost/snapshot-store.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,qBAAa,aAAa;IAGtB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,SAAS;IAGlC,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAetD,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;CAcpE"}
1
+ {"version":3,"file":"snapshot-store.d.ts","sourceRoot":"","sources":["../../../../src/dbhost/snapshot-store.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,qBAAa,aAAa;IAGtB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,SAAS;IAGlC,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAetD,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAe7D,aAAa,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAarD"}
@@ -1,5 +1,5 @@
1
1
  import { PublicKey } from '@dxos/keys';
2
- import { SpaceMetadata, IdentityRecord } from '@dxos/protocols/proto/dxos/echo/metadata';
2
+ import { SpaceMetadata, IdentityRecord, SpaceCache } from '@dxos/protocols/proto/dxos/echo/metadata';
3
3
  import { Directory } from '@dxos/random-access-storage';
4
4
  import { Timeframe } from '@dxos/timeframe';
5
5
  /**
@@ -27,6 +27,7 @@ export declare class MetadataStore {
27
27
  */
28
28
  load(): Promise<void>;
29
29
  private _save;
30
+ _getSpace(spaceKey: PublicKey): SpaceMetadata;
30
31
  /**
31
32
  * Clears storage - doesn't work for now.
32
33
  */
@@ -35,7 +36,7 @@ export declare class MetadataStore {
35
36
  setIdentityRecord(record: IdentityRecord): Promise<void>;
36
37
  addSpace(record: SpaceMetadata): Promise<void>;
37
38
  setSpaceLatestTimeframe(spaceKey: PublicKey, timeframe: Timeframe): Promise<void>;
38
- setSpaceSnapshot(spaceKey: PublicKey, snapshot: string): Promise<void>;
39
+ setCache(spaceKey: PublicKey, cache: SpaceCache): Promise<void>;
39
40
  setWritableFeedKeys(spaceKey: PublicKey, controlFeedKey: PublicKey, dataFeedKey: PublicKey): Promise<void>;
40
41
  }
41
42
  //# sourceMappingURL=metadata-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-store.d.ts","sourceRoot":"","sources":["../../../../src/metadata/metadata-store.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAgB,aAAa,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AACvG,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,SAAS,CAAC;IACf,WAAW,EAAE,SAAS,CAAC;CACxB;AASD,qBAAa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,OAAO,CAAC,SAAS,CAAqC;gBAInC,UAAU,EAAE,SAAS;IAGxC,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,aAAa,EAAE,CAE5B;IAED;;OAEG;IAEG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAiCb,KAAK;IA6BnB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,iBAAiB,IAAI,cAAc,GAAG,SAAS;IAIzC,iBAAiB,CAAC,MAAM,EAAE,cAAc;IAOxC,QAAQ,CAAC,MAAM,EAAE,aAAa;IAU9B,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAQjE,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM;IAQtD,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS;CAQjG"}
1
+ {"version":3,"file":"metadata-store.d.ts","sourceRoot":"","sources":["../../../../src/metadata/metadata-store.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAgB,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACnH,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,SAAS,CAAC;IACf,WAAW,EAAE,SAAS,CAAC;CACxB;AASD,qBAAa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,OAAO,CAAC,SAAS,CAAqC;gBAInC,UAAU,EAAE,SAAS;IAGxC,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,aAAa,EAAE,CAE5B;IAED;;OAEG;IAEG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAiCb,KAAK;IA6BnB,SAAS,CAAC,QAAQ,EAAE,SAAS,GAAG,aAAa;IAM7C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,iBAAiB,IAAI,cAAc,GAAG,SAAS;IAIzC,iBAAiB,CAAC,MAAM,EAAE,cAAc;IAOxC,QAAQ,CAAC,MAAM,EAAE,aAAa;IAU9B,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAKjE,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU;IAK/C,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS;CAMjG"}
@@ -1,11 +1,13 @@
1
+ import { Event } from '@dxos/async';
1
2
  import { Context } from '@dxos/context';
2
- import { FeedSetIterator, FeedWrapper, FeedWriter } from '@dxos/feed-store';
3
+ import { FeedWrapper, FeedWriter } from '@dxos/feed-store';
3
4
  import { PublicKey } from '@dxos/keys';
4
5
  import { FeedMessageBlock } from '@dxos/protocols';
5
6
  import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
6
7
  import { Timeframe } from '@dxos/timeframe';
8
+ import { ComplexMap } from '@dxos/util';
7
9
  import { TimeframeClock } from './timeframe-clock';
8
- export declare type WaitUntilReachedTargetParams = {
10
+ export type WaitUntilReachedTargetParams = {
9
11
  /**
10
12
  * For cancellation.
11
13
  */
@@ -20,15 +22,16 @@ export declare type WaitUntilReachedTargetParams = {
20
22
  * External state accessor.
21
23
  */
22
24
  export declare class PipelineState {
23
- private _iterator;
25
+ private _feeds;
24
26
  private _timeframeClock;
25
- readonly timeframeUpdate: import("@dxos/async").Event<Timeframe>;
27
+ readonly timeframeUpdate: Event<Timeframe>;
28
+ readonly stalled: Event<void>;
26
29
  /**
27
30
  * Target timeframe we are waiting to reach.
28
31
  */
29
32
  private _targetTimeframe;
30
33
  private _reachedTargetPromise;
31
- constructor(_iterator: FeedSetIterator<any>, _timeframeClock: TimeframeClock);
34
+ constructor(_feeds: ComplexMap<PublicKey, FeedWrapper<FeedMessage>>, _timeframeClock: TimeframeClock);
32
35
  /**
33
36
  * Latest theoretical timeframe based on the last mutation in each feed.
34
37
  * NOTE: This might never be reached if the mutation dependencies
@@ -37,7 +40,7 @@ export declare class PipelineState {
37
40
  get timeframe(): Timeframe;
38
41
  get pendingTimeframe(): Timeframe;
39
42
  get targetTimeframe(): Timeframe;
40
- get feeds(): FeedWrapper<any>[];
43
+ get feeds(): FeedWrapper<FeedMessage>[];
41
44
  waitUntilTimeframe(target: Timeframe): Promise<void>;
42
45
  setTargetTimeframe(target: Timeframe): void;
43
46
  /**
@@ -47,7 +50,7 @@ export declare class PipelineState {
47
50
  *
48
51
  * @param timeout Timeout in milliseconds to specify the maximum wait time.
49
52
  */
50
- waitUntilReachedTargetTimeframe({ ctx, timeout, breakOnStall }?: WaitUntilReachedTargetParams): Promise<void>;
53
+ waitUntilReachedTargetTimeframe({ ctx, timeout, breakOnStall, }?: WaitUntilReachedTargetParams): Promise<void>;
51
54
  }
52
55
  export interface PipelineAccessor {
53
56
  state: PipelineState;
@@ -86,14 +89,17 @@ export interface PipelineAccessor {
86
89
  * 5. Wait for the writable feed to be added.
87
90
  */
88
91
  export declare class Pipeline implements PipelineAccessor {
89
- private readonly _initialTimeframe;
90
92
  private readonly _timeframeClock;
91
- private readonly _feedSetIterator;
93
+ private readonly _feeds;
94
+ private _feedSetIterator?;
92
95
  private readonly _state;
93
96
  private readonly _processingTrigger;
94
- private _writer;
97
+ private readonly _pauseTrigger;
98
+ private _isStopping;
99
+ private _isStarted;
95
100
  private _isOpen;
96
- constructor(_initialTimeframe?: Timeframe);
101
+ private _isPaused;
102
+ private _writer;
97
103
  get state(): PipelineState;
98
104
  get writer(): FeedWriter<FeedMessage.Payload>;
99
105
  getFeeds(): FeedWrapper<FeedMessage>[];
@@ -102,10 +108,20 @@ export declare class Pipeline implements PipelineAccessor {
102
108
  setWriteFeed(feed: FeedWrapper<FeedMessage>): void;
103
109
  start(): Promise<void>;
104
110
  stop(): Promise<void>;
111
+ /**
112
+ * @param timeframe Timeframe of already processed messages. The pipeline will start processing messages AFTER this timeframe.
113
+ */
114
+ setCursor(timeframe: Timeframe): Promise<void>;
115
+ /**
116
+ * Calling pause while processing will cause a deadlock.
117
+ */
118
+ pause(): Promise<void>;
119
+ unpause(): Promise<void>;
105
120
  /**
106
121
  * Starts to iterate over the ordered messages from the added feeds.
107
122
  * Updates the timeframe clock after the message has bee processed.
108
123
  */
109
124
  consume(): AsyncIterable<FeedMessageBlock>;
125
+ private _initIterator;
110
126
  }
111
127
  //# sourceMappingURL=pipeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/pipeline.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAmB,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAyC,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE1F,oBAAY,4BAA4B,GAAG;IACzC;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa;IAatB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,eAAe;IAZzB,SAAgB,eAAe,yCAA+B;IAE9D;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAAwB;IAEhD,OAAO,CAAC,qBAAqB,CAA4B;gBAI/C,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAC/B,eAAe,EAAE,cAAc;IAGzC;;;OAGG;IAEH,IAAI,YAAY,cASf;IAED,IAAI,SAAS,cAEZ;IAED,IAAI,gBAAgB,cAEnB;IAED,IAAI,eAAe,cAElB;IAED,IAAI,KAAK,uBAER;IAEK,kBAAkB,CAAC,MAAM,EAAE,SAAS;IAI1C,kBAAkB,CAAC,MAAM,EAAE,SAAS;IAIpC;;;;;;OAMG;IACG,+BAA+B,CAAC,EACpC,GAAmB,EACnB,OAAO,EACP,YAAmB,EACpB,GAAE,4BAAiC;CAuCrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;CACzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,QAAS,YAAW,gBAAgB;IAsB7C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IArBpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA8C;IAG9E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAG9B;IAGH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiF;IAGxG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAG3D,OAAO,CAAC,OAAO,CAA8C;IAE7D,OAAO,CAAC,OAAO,CAAS;gBAIL,iBAAiB,GAAE,SAA2B;IAOjE,IAAI,KAAK,kBAER;IAED,IAAI,MAAM,IAAI,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAG5C;IAED,QAAQ,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE;IAMhC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;IAI5C,OAAO,CAAC,OAAO,EAAE,SAAS;IAI1B,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;IAcrC,KAAK;IAOL,IAAI;IAOV;;;OAGG;IACI,OAAO,IAAI,aAAa,CAAC,gBAAgB,CAAC;CAgBlD"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/pipeline.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAgC,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,OAAO,EAAmB,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAmB,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,OAAO,EAAyC,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE1F,MAAM,MAAM,4BAA4B,GAAG;IACzC;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa;IAetB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,eAAe;IAdzB,SAAgB,eAAe,mBAA+B;IAE9D,SAAgB,OAAO,cAAe;IAEtC;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAAwB;IAEhD,OAAO,CAAC,qBAAqB,CAA4B;gBAI/C,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,EACvD,eAAe,EAAE,cAAc;IAGzC;;;OAGG;IAEH,IAAI,YAAY,cASf;IAED,IAAI,SAAS,cAEZ;IAED,IAAI,gBAAgB,cAEnB;IAED,IAAI,eAAe,cAElB;IAED,IAAI,KAAK,+BAER;IAEK,kBAAkB,CAAC,MAAM,EAAE,SAAS;IAI1C,kBAAkB,CAAC,MAAM,EAAE,SAAS;IAIpC;;;;;;OAMG;IACG,+BAA+B,CAAC,EACpC,GAAmB,EACnB,OAAO,EACP,YAAmB,GACpB,GAAE,4BAAiC;CAuCrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;CACzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,QAAS,YAAW,gBAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuC;IAEvE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuE;IAG9F,OAAO,CAAC,gBAAgB,CAAC,CAA+B;IAGxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuE;IAG9F,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAE3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAEtD,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,SAAS,CAAS;IAG1B,OAAO,CAAC,OAAO,CAA8C;IAE7D,IAAI,KAAK,kBAER;IAED,IAAI,MAAM,IAAI,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAG5C;IAED,QAAQ,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE;IAMhC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;IAO5C,OAAO,CAAC,OAAO,EAAE,SAAS;IAI1B,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;IAcrC,KAAK;IASL,IAAI;IASV;;OAEG;IAEG,SAAS,CAAC,SAAS,EAAE,SAAS;IAYpC;;OAEG;IAEG,KAAK;IAYL,OAAO;IAQb;;;OAGG;IACI,OAAO,IAAI,aAAa,CAAC,gBAAgB,CAAC;YAoCnC,aAAa;CAc5B"}
@@ -22,6 +22,7 @@ export declare class TimeframeClock {
22
22
  * Will be equal to `timeframe` after the processing is complete.
23
23
  */
24
24
  get pendingTimeframe(): Timeframe;
25
+ setTimeframe(timeframe: Timeframe): void;
25
26
  updatePendingTimeframe(key: PublicKey, seq: number): void;
26
27
  updateTimeframe(): void;
27
28
  hasGaps(timeframe: Timeframe): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"timeframe-clock.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/timeframe-clock.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,yBAAyB,cAAe,SAAS,KAAG,SAAS,EACN,CAAC;AAErE,eAAO,MAAM,yBAAyB,YAAa,SAAS,EAAE,KAAG,SACK,CAAC;AAEvE,eAAO,MAAM,UAAU,cAAe,SAAS,KAAG,SAAS,EACoB,CAAC;AAEhF;;GAEG;AACH,qBAAa,cAAc;IAOvB,OAAO,CAAC,UAAU;IANpB,QAAQ,CAAC,MAAM,mBAA0B;IAEzC,OAAO,CAAC,iBAAiB,CAAY;gBAI3B,UAAU,YAAkB;IAKtC;;OAEG;IACH,IAAI,SAAS,cAEZ;IAED;;;OAGG;IACH,IAAI,gBAAgB,cAEnB;IAED,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM;IAIlD,eAAe;IAKf,OAAO,CAAC,SAAS,EAAE,SAAS;IAMtB,gBAAgB,CAAC,MAAM,EAAE,SAAS;CAYzC"}
1
+ {"version":3,"file":"timeframe-clock.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/timeframe-clock.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,yBAAyB,cAAe,SAAS,KAAG,SAAS,EACN,CAAC;AAErE,eAAO,MAAM,yBAAyB,YAAa,SAAS,EAAE,KAAG,SACK,CAAC;AAEvE,eAAO,MAAM,UAAU,cAAe,SAAS,KAAG,SAAS,EACoB,CAAC;AAEhF;;GAEG;AACH,qBAAa,cAAc;IAOvB,OAAO,CAAC,UAAU;IANpB,QAAQ,CAAC,MAAM,mBAA0B;IAEzC,OAAO,CAAC,iBAAiB,CAAY;gBAI3B,UAAU,YAAkB;IAKtC;;OAEG;IACH,IAAI,SAAS,cAEZ;IAED;;;OAGG;IACH,IAAI,gBAAgB,cAEnB;IAED,YAAY,CAAC,SAAS,EAAE,SAAS;IAMjC,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM;IAIlD,eAAe;IAKf,OAAO,CAAC,SAAS,EAAE,SAAS;IAMtB,gBAAgB,CAAC,MAAM,EAAE,SAAS;CAYzC"}
@@ -1,8 +1,8 @@
1
1
  import { AuthService } from '@dxos/protocols/proto/dxos/mesh/teleport/auth';
2
2
  import { ExtensionContext, RpcExtension } from '@dxos/teleport';
3
- export declare type AuthProvider = (nonce: Uint8Array) => Promise<Uint8Array | undefined>;
4
- export declare type AuthVerifier = (nonce: Uint8Array, credential: Uint8Array) => Promise<boolean>;
5
- export declare type AuthExtensionParams = {
3
+ export type AuthProvider = (nonce: Uint8Array) => Promise<Uint8Array | undefined>;
4
+ export type AuthVerifier = (nonce: Uint8Array, credential: Uint8Array) => Promise<boolean>;
5
+ export type AuthExtensionParams = {
6
6
  provider: AuthProvider;
7
7
  verifier: AuthVerifier;
8
8
  onAuthSuccess: () => void;
@@ -16,7 +16,7 @@ export declare class AuthExtension extends RpcExtension<Services, Services> {
16
16
  onOpen(context: ExtensionContext): Promise<void>;
17
17
  onClose(): Promise<void>;
18
18
  }
19
- declare type Services = {
19
+ type Services = {
20
20
  AuthService: AuthService;
21
21
  };
22
22
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/space/auth.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE,oBAAY,YAAY,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;AAElF,oBAAY,YAAY,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE3F,oBAAY,mBAAmB,GAAG;IAChC,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AAEF,qBAAa,aAAc,SAAQ,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAOrD,OAAO,CAAC,QAAQ,CAAC,WAAW;IANxC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAIlB;gBAE0B,WAAW,EAAE,mBAAmB;cAY7C,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAmBjC,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBhD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAIxC;AAED,aAAK,QAAQ,GAAG;IAAE,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/space/auth.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;AAElF,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE3F,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AAEF,qBAAa,aAAc,SAAQ,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAOrD,OAAO,CAAC,QAAQ,CAAC,WAAW;IANxC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAIlB;gBAE0B,WAAW,EAAE,mBAAmB;cAY7C,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAmBjC,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBhD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAIxC;AAED,KAAK,QAAQ,GAAG;IAAE,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC"}
@@ -3,14 +3,12 @@ import { FeedWrapper } from '@dxos/feed-store';
3
3
  import { PublicKey } from '@dxos/keys';
4
4
  import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
5
5
  import { Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
6
- import { Timeframe } from '@dxos/timeframe';
7
6
  import { AsyncCallback, Callback } from '@dxos/util';
8
7
  import { PipelineAccessor } from '../pipeline';
9
- export declare type ControlPipelineParams = {
8
+ export type ControlPipelineParams = {
10
9
  spaceKey: PublicKey;
11
10
  genesisFeed: FeedWrapper<FeedMessage>;
12
11
  feedProvider: (feedKey: PublicKey) => Promise<FeedWrapper<FeedMessage>>;
13
- initialTimeframe?: Timeframe;
14
12
  };
15
13
  /**
16
14
  * Processes HALO credentials, which include genesis and invitations.
@@ -21,7 +19,7 @@ export declare class ControlPipeline {
21
19
  readonly onFeedAdmitted: Callback<AsyncCallback<FeedInfo>>;
22
20
  readonly onMemberAdmitted: Callback<AsyncCallback<MemberInfo>>;
23
21
  readonly onCredentialProcessed: Callback<AsyncCallback<Credential>>;
24
- constructor({ spaceKey, genesisFeed, feedProvider, initialTimeframe }: ControlPipelineParams);
22
+ constructor({ spaceKey, genesisFeed, feedProvider }: ControlPipelineParams);
25
23
  get spaceState(): SpaceState;
26
24
  get pipeline(): PipelineAccessor;
27
25
  setWriteFeed(feed: FeedWrapper<FeedMessage>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"control-pipeline.d.ts","sourceRoot":"","sources":["../../../../src/space/control-pipeline.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAgB,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EAAY,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEzD,oBAAY,qBAAqB,GAAG;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,YAAY,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;IACxE,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IAEvD,SAAgB,cAAc,oCAA2C;IACzE,SAAgB,gBAAgB,EAAE,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IACtE,SAAgB,qBAAqB,EAAE,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;gBAE/D,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE,qBAAqB;IA0B5F,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,QAAQ,IAAI,gBAAgB,CAE/B;IAED,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;IAIrC,KAAK;IA0BL,IAAI;CAKX"}
1
+ {"version":3,"file":"control-pipeline.d.ts","sourceRoot":"","sources":["../../../../src/space/control-pipeline.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAgB,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EAAY,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,YAAY,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;CACzE,CAAC;AAEF;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IAEvD,SAAgB,cAAc,oCAA2C;IACzE,SAAgB,gBAAgB,EAAE,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IACtE,SAAgB,qBAAqB,EAAE,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;gBAE/D,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,qBAAqB;IA0B1E,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,QAAQ,IAAI,gBAAgB,CAE/B;IAED,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;IAIrC,KAAK;IA0BL,IAAI;CAKX"}
@@ -1,7 +1,9 @@
1
- import { FeedInfo } from '@dxos/credentials';
1
+ import { Event } from '@dxos/async';
2
+ import { CredentialProcessor, FeedInfo } from '@dxos/credentials';
2
3
  import { ItemManager } from '@dxos/echo-db';
3
4
  import { PublicKey } from '@dxos/keys';
4
5
  import { ModelFactory } from '@dxos/model-factory';
6
+ import { Credential, Epoch } from '@dxos/protocols/proto/dxos/halo/credentials';
5
7
  import { Timeframe } from '@dxos/timeframe';
6
8
  import { DatabaseHost, SnapshotManager } from '../dbhost';
7
9
  import { MetadataStore } from '../metadata';
@@ -9,7 +11,7 @@ import { Pipeline } from '../pipeline';
9
11
  export interface PipelineFactory {
10
12
  openPipeline: (start: Timeframe) => Promise<Pipeline>;
11
13
  }
12
- export declare type DataPipelineParams = {
14
+ export type DataPipelineParams = {
13
15
  modelFactory: ModelFactory;
14
16
  snapshotManager: SnapshotManager;
15
17
  metadataStore: MetadataStore;
@@ -17,6 +19,10 @@ export declare type DataPipelineParams = {
17
19
  spaceKey: PublicKey;
18
20
  feedInfoProvider: (feedKey: PublicKey) => FeedInfo | undefined;
19
21
  snapshotId: string | undefined;
22
+ /**
23
+ * Called once.
24
+ */
25
+ onPipelineCreated: (pipeline: Pipeline) => Promise<void>;
20
26
  };
21
27
  /**
22
28
  * Controls data pipeline in the space.
@@ -26,29 +32,32 @@ export declare type DataPipelineParams = {
26
32
  export declare class DataPipeline {
27
33
  private readonly _params;
28
34
  private _ctx;
29
- private _spaceContext;
30
35
  private _pipeline?;
31
- private _snapshot?;
32
36
  private _targetTimeframe?;
33
37
  private _lastAutomaticSnapshotTimeframe;
34
38
  private _isOpen;
35
39
  private _lastTimeframeSaveTime;
36
40
  private _lastSnapshotSaveTime;
37
41
  constructor(_params: DataPipelineParams);
38
- _itemManager: ItemManager;
39
- databaseBackend?: DatabaseHost;
42
+ itemManager: ItemManager;
43
+ databaseHost?: DatabaseHost;
44
+ currentEpoch?: Credential;
45
+ onNewEpoch: Event<Credential>;
40
46
  get isOpen(): boolean;
47
+ get pipeline(): Pipeline | undefined;
41
48
  get pipelineState(): import("../pipeline/pipeline").PipelineState | undefined;
42
- get snapshotTimeframe(): Timeframe | undefined;
43
- getStartTimeframe(): Timeframe;
44
49
  setTargetTimeframe(timeframe: Timeframe): void;
45
- open(spaceContext: PipelineFactory): Promise<void>;
50
+ createCredentialProcessor(): CredentialProcessor;
51
+ open(): Promise<void>;
46
52
  close(): Promise<void>;
47
53
  private _consumePipeline;
48
54
  private _createSnapshot;
49
- private _saveSnapshot;
50
55
  private _saveTargetTimeframe;
56
+ private _saveCache;
51
57
  private _noteTargetStateIfNeeded;
58
+ private _processEpoch;
52
59
  waitUntilTimeframe(timeframe: Timeframe): Promise<void>;
60
+ createEpoch(): Promise<Epoch>;
61
+ ensureEpochInitialized(): Promise<void>;
53
62
  }
54
63
  //# sourceMappingURL=data-pipeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-pipeline.d.ts","sourceRoot":"","sources":["../../../../src/space/data-pipeline.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvD;AAED,oBAAY,kBAAkB,GAAG;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,gBAAgB,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAC;IAC/D,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAsBF;;;;GAIG;AACH,qBACa,YAAY;IAaX,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZpC,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,OAAO,CAAC,SAAS,CAAC,CAAgB;IAClC,OAAO,CAAC,gBAAgB,CAAC,CAAY;IAErC,OAAO,CAAC,+BAA+B,CAAmB;IAC1D,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,qBAAqB,CAAK;gBAEL,OAAO,EAAE,kBAAkB;IAEjD,YAAY,EAAG,WAAW,CAAC;IAC3B,eAAe,CAAC,EAAE,YAAY,CAAC;IAEtC,IAAI,MAAM,YAET;IAED,IAAI,aAAa,6DAEhB;IAED,IAAI,iBAAiB,0BAEpB;IAED,iBAAiB,IAAI,SAAS;IAI9B,kBAAkB,CAAC,SAAS,EAAE,SAAS;IAMjC,IAAI,CAAC,YAAY,EAAE,eAAe;IAqClC,KAAK;YA2BG,gBAAgB;IAiC9B,OAAO,CAAC,eAAe;YAST,aAAa;YAOb,oBAAoB;YAMpB,wBAAwB;IAoBhC,kBAAkB,CAAC,SAAS,EAAE,SAAS;CAI9C"}
1
+ {"version":3,"file":"data-pipeline.d.ts","sourceRoot":"","sources":["../../../../src/space/data-pipeline.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAA0C,MAAM,aAAa,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAA0B,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAA2B,WAAW,EAAE,MAAM,eAAe,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKnD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvD;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,gBAAgB,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAC;IAC/D,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B;;OAEG;IACH,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D,CAAC;AAiBF;;;;GAIG;AACH,qBACa,YAAY;IAWX,OAAO,CAAC,QAAQ,CAAC,OAAO;IAVpC,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,OAAO,CAAC,gBAAgB,CAAC,CAAY;IAErC,OAAO,CAAC,+BAA+B,CAAmB;IAC1D,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,qBAAqB,CAAK;gBAEL,OAAO,EAAE,kBAAkB;IAEjD,WAAW,EAAG,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,UAAU,oBAA2B;IAE5C,IAAI,MAAM,YAET;IAED,IAAI,QAAQ,yBAEX;IAED,IAAI,aAAa,6DAEhB;IAED,kBAAkB,CAAC,SAAS,EAAE,SAAS;IAKvC,yBAAyB,IAAI,mBAAmB;IAkB1C,IAAI;IAsCJ,KAAK;YAyBG,gBAAgB;IAiC9B,OAAO,CAAC,eAAe;YAST,oBAAoB;YAMpB,UAAU;YAqBV,wBAAwB;YAkBxB,aAAa;IAgBrB,kBAAkB,CAAC,SAAS,EAAE,SAAS;IAMvC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;IAqB7B,sBAAsB;CAG7B"}
@@ -2,6 +2,5 @@ export * from './auth';
2
2
  export * from './space';
3
3
  export * from './space-manager';
4
4
  export * from './space-protocol';
5
- export * from './genesis';
6
5
  export * from './data-pipeline';
7
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/space/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/space/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
@@ -1,28 +1,26 @@
1
- import { CredentialSigner } from '@dxos/credentials';
2
1
  import { FeedStore } from '@dxos/feed-store';
3
2
  import { PublicKey } from '@dxos/keys';
3
+ import { ModelFactory } from '@dxos/model-factory';
4
4
  import { NetworkManager } from '@dxos/network-manager';
5
5
  import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
6
6
  import { SpaceMetadata } from '@dxos/protocols/proto/dxos/echo/metadata';
7
- import { Credential, ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
8
7
  import { Teleport } from '@dxos/teleport';
9
8
  import { ComplexMap } from '@dxos/util';
9
+ import { SnapshotStore } from '../dbhost';
10
+ import { MetadataStore } from '../metadata';
10
11
  import { Space } from './space';
11
12
  import { SwarmIdentity } from './space-protocol';
12
- export interface SigningContext {
13
- identityKey: PublicKey;
14
- deviceKey: PublicKey;
15
- credentialSigner: CredentialSigner;
16
- recordCredential: (credential: Credential) => Promise<void>;
17
- profile?: ProfileDocument;
18
- }
19
- export declare type SpaceManagerParams = {
13
+ export type SpaceManagerParams = {
20
14
  feedStore: FeedStore<FeedMessage>;
21
15
  networkManager: NetworkManager;
16
+ modelFactory: ModelFactory;
17
+ metadataStore: MetadataStore;
18
+ snapshotStore: SnapshotStore;
22
19
  };
23
- export declare type ConstructSpaceParams = {
20
+ export type ConstructSpaceParams = {
24
21
  metadata: SpaceMetadata;
25
22
  swarmIdentity: SwarmIdentity;
23
+ memberKey: PublicKey;
26
24
  onNetworkConnection: (session: Teleport) => void;
27
25
  };
28
26
  /**
@@ -32,12 +30,14 @@ export declare class SpaceManager {
32
30
  private readonly _spaces;
33
31
  private readonly _feedStore;
34
32
  private readonly _networkManager;
33
+ private readonly _modelFactory;
34
+ private readonly _metadataStore;
35
+ private readonly _snapshotStore;
35
36
  private readonly _instanceId;
36
- _traceParent?: string;
37
- constructor({ feedStore, networkManager }: SpaceManagerParams);
37
+ constructor({ feedStore, networkManager, modelFactory, metadataStore, snapshotStore }: SpaceManagerParams);
38
38
  get spaces(): ComplexMap<PublicKey, Space>;
39
39
  open(): Promise<void>;
40
40
  close(): Promise<void>;
41
- constructSpace({ metadata, swarmIdentity, onNetworkConnection }: ConstructSpaceParams): Promise<Space>;
41
+ constructSpace({ metadata, swarmIdentity, onNetworkConnection, memberKey }: ConstructSpaceParams): Promise<Space>;
42
42
  }
43
43
  //# sourceMappingURL=space-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"space-manager.d.ts","sourceRoot":"","sources":["../../../../src/space/space-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAiB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGhE,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,oBAAY,kBAAkB,GAAG;IAC/B,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClC,cAAc,EAAE,cAAc,CAAC;CAChC,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;IAC7B,mBAAmB,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF;;GAEG;AACH,qBACa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoD;IAC5E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;gBAEjB,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,kBAAkB;IAO7D,IAAI,MAAM,iCAET;IAGK,IAAI;IAKJ,KAAK;IAKL,cAAc,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,oBAAoB;CAuB5F"}
1
+ {"version":3,"file":"space-manager.d.ts","sourceRoot":"","sources":["../../../../src/space/space-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAmB,aAAa,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAiB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,mBAAmB,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF;;GAEG;AACH,qBACa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoD;IAC5E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAE9C,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,kBAAkB;IAUzG,IAAI,MAAM,iCAET;IAGK,IAAI;IAGJ,KAAK;IAIL,cAAc,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE,oBAAoB;CA8BvG"}
@@ -13,7 +13,7 @@ export interface SwarmIdentity {
13
13
  credentialProvider: AuthProvider;
14
14
  credentialAuthenticator: AuthVerifier;
15
15
  }
16
- export declare type SpaceProtocolOptions = {
16
+ export type SpaceProtocolOptions = {
17
17
  topic: PublicKey;
18
18
  swarmIdentity: SwarmIdentity;
19
19
  networkManager: NetworkManager;
@@ -43,7 +43,7 @@ export declare class SpaceProtocol {
43
43
  stop(): Promise<void>;
44
44
  private _createProtocolProvider;
45
45
  }
46
- export declare type SpaceProtocolSessionParams = {
46
+ export type SpaceProtocolSessionParams = {
47
47
  wireParams: WireProtocolParams;
48
48
  swarmIdentity: SwarmIdentity;
49
49
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"space-protocol.d.ts","sourceRoot":"","sources":["../../../../src/space/space-protocol.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAEL,cAAc,EAEd,YAAY,EACZ,kBAAkB,EAEnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAG1E,OAAO,EAAiB,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEnE,eAAO,MAAM,kBAAkB,EAAE,YAA+D,CAAC;AACjG,eAAO,MAAM,kBAAkB,EAAE,YAAwE,CAAC;AAG1G,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,SAAS,CAAC;IACnB,kBAAkB,EAAE,YAAY,CAAC;IACjC,uBAAuB,EAAE,YAAY,CAAC;CACvC;AAED,oBAAY,oBAAoB,GAAG;IACjC,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA8B;IAG9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IAEnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmE;IAE7F,OAAO,CAAC,WAAW,CAAC,CAAkB;IAEtC,IAAI,QAAQ,IAAI,WAAW,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAE3D;IAED,IAAI,KAAK,IAAI,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAEjD;IAGD,OAAO,KAAK,WAAW,GAEtB;gBAEW,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE,oBAAoB;IASzF,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;IAShC,KAAK;IA2BL,IAAI;IAQV,OAAO,CAAC,uBAAuB;CAgBhC;AAED,oBAAY,0BAA0B,GAAG;IACvC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAGD;;GAEG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IAEvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA8B;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAE/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IAGrC,SAAgB,UAAU,sBAA0D;IAEpF,OAAO,CAAC,WAAW,CAAsB;IAEzC,IACI,UAAU,eAEb;gBAGW,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,0BAA0B;IAQpF,IAAI,MAAM,4BAET;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
1
+ {"version":3,"file":"space-protocol.d.ts","sourceRoot":"","sources":["../../../../src/space/space-protocol.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAEL,cAAc,EAEd,YAAY,EACZ,kBAAkB,EAEnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAG1E,OAAO,EAAiB,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEnE,eAAO,MAAM,kBAAkB,EAAE,YAA+D,CAAC;AACjG,eAAO,MAAM,kBAAkB,EAAE,YAAwE,CAAC;AAG1G,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,SAAS,CAAC;IACnB,kBAAkB,EAAE,YAAY,CAAC;IACjC,uBAAuB,EAAE,YAAY,CAAC;CACvC;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA8B;IAG9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IAEnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmE;IAE7F,OAAO,CAAC,WAAW,CAAC,CAAkB;IAEtC,IAAI,QAAQ,IAAI,WAAW,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAE3D;IAED,IAAI,KAAK,IAAI,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAEjD;IAGD,OAAO,KAAK,WAAW,GAEtB;gBAEW,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE,oBAAoB;IASzF,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;IAShC,KAAK;IA2BL,IAAI;IAQV,OAAO,CAAC,uBAAuB;CAgBhC;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAGD;;GAEG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IAEvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA8B;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAE/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IAGrC,SAAgB,UAAU,sBAA0D;IAEpF,OAAO,CAAC,WAAW,CAAsB;IAEzC,IACI,UAAU,eAEb;gBAGW,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,0BAA0B;IAQpF,IAAI,MAAM,4BAET;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
@@ -2,20 +2,29 @@ import { Event } from '@dxos/async';
2
2
  import { FeedInfo } from '@dxos/credentials';
3
3
  import { FeedWrapper } from '@dxos/feed-store';
4
4
  import { PublicKey } from '@dxos/keys';
5
+ import { ModelFactory } from '@dxos/model-factory';
5
6
  import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
6
7
  import { Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
7
8
  import { Timeframe } from '@dxos/timeframe';
8
9
  import { AsyncCallback, Callback } from '@dxos/util';
9
- import { Pipeline, PipelineAccessor } from '../pipeline';
10
+ import { SnapshotManager } from '../dbhost';
11
+ import { MetadataStore } from '../metadata';
12
+ import { PipelineAccessor } from '../pipeline';
13
+ import { DataPipeline } from './data-pipeline';
10
14
  import { SpaceProtocol } from './space-protocol';
11
- declare type FeedProvider = (feedKey: PublicKey) => Promise<FeedWrapper<FeedMessage>>;
12
- export declare type SpaceParams = {
15
+ type FeedProvider = (feedKey: PublicKey) => Promise<FeedWrapper<FeedMessage>>;
16
+ export type SpaceParams = {
13
17
  spaceKey: PublicKey;
14
18
  protocol: SpaceProtocol;
15
19
  genesisFeed: FeedWrapper<FeedMessage>;
16
20
  feedProvider: FeedProvider;
21
+ modelFactory: ModelFactory;
22
+ metadataStore: MetadataStore;
23
+ snapshotManager: SnapshotManager;
24
+ memberKey: PublicKey;
25
+ snapshotId?: string | undefined;
17
26
  };
18
- export declare type CreatePipelineParams = {
27
+ export type CreatePipelineParams = {
19
28
  start: Timeframe;
20
29
  };
21
30
  /**
@@ -30,11 +39,13 @@ export declare class Space {
30
39
  private readonly _genesisFeedKey;
31
40
  private readonly _feedProvider;
32
41
  private readonly _controlPipeline;
42
+ private readonly _dataPipeline;
43
+ private readonly _snapshotManager;
44
+ private _dataPipelineCredentialConsumer?;
33
45
  private _isOpen;
34
46
  private _controlFeed?;
35
47
  private _dataFeed?;
36
- private _dataPipeline?;
37
- constructor({ spaceKey, protocol, genesisFeed, feedProvider }: SpaceParams);
48
+ constructor(params: SpaceParams);
38
49
  get key(): PublicKey;
39
50
  get isOpen(): boolean;
40
51
  get genesisFeedKey(): PublicKey;
@@ -45,6 +56,8 @@ export declare class Space {
45
56
  * @test-only
46
57
  */
47
58
  get controlPipeline(): PipelineAccessor;
59
+ get dataPipeline(): DataPipeline;
60
+ get snapshotManager(): SnapshotManager;
48
61
  setControlFeed(feed: FeedWrapper<FeedMessage>): this;
49
62
  setDataFeed(feed: FeedWrapper<FeedMessage>): this;
50
63
  /**
@@ -56,7 +69,7 @@ export declare class Space {
56
69
  */
57
70
  open(): Promise<void>;
58
71
  close(): Promise<void>;
59
- createDataPipeline({ start }: CreatePipelineParams): Promise<Pipeline>;
72
+ initializeDataPipeline(): Promise<void>;
60
73
  }
61
74
  export {};
62
75
  //# sourceMappingURL=space.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../../../src/space/space.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAkC,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAgB,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,aAAK,YAAY,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;AAE9E,oBAAY,WAAW,GAAG;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IACjC,KAAK,EAAE,SAAS,CAAC;CAElB,CAAC;AAEF;;GAEG;AAEH,qBACa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAE3C,SAAgB,qBAAqB,sCAA6C;IAClF,SAAgB,WAAW,cAAe;IAC1C,SAAgB,QAAQ,EAAE,aAAa,CAAC;IAExC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAY;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IAEnD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAC,CAA2B;IAChD,OAAO,CAAC,SAAS,CAAC,CAA2B;IAC7C,OAAO,CAAC,aAAa,CAAC,CAAW;gBAErB,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,WAAW;IAsC1E,IACI,GAAG,cAEN;IAED,IAAI,MAAM,YAET;IAED,IAAI,cAAc,IAAI,SAAS,CAE9B;IAED,IAAI,cAAc,0BAEjB;IAED,IAAI,WAAW,0BAEd;IAED,IAAI,UAAU,2CAEb;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,gBAAgB,CAEtC;IAED,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;IAO7C,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;IAO1C;;OAEG;IACH,eAAe,IAAI,QAAQ,EAAE;IAI7B;;OAEG;IAKG,IAAI;IAeJ,KAAK;IAeL,kBAAkB,CAAC,EAAE,KAAK,EAAE,EAAE,oBAAoB;CAsBzD"}
1
+ {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../../../src/space/space.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAkC,MAAM,aAAa,CAAC;AACpE,OAAO,EAAsB,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAgB,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,KAAK,YAAY,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;AAE9E,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,SAAS,CAAC;IAGrB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,SAAS,CAAC;CAElB,CAAC;AAEF;;GAEG;AAEH,qBACa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAE3C,SAAgB,qBAAqB,sCAA6C;IAClF,SAAgB,WAAW,cAAe;IAC1C,SAAgB,QAAQ,EAAE,aAAa,CAAC;IAExC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAY;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IAGnD,OAAO,CAAC,+BAA+B,CAAC,CAAsC;IAE9E,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAC,CAA2B;IAChD,OAAO,CAAC,SAAS,CAAC,CAA2B;gBAEjC,MAAM,EAAE,WAAW;IAkE/B,IACI,GAAG,cAEN;IAED,IAAI,MAAM,YAET;IAED,IAAI,cAAc,IAAI,SAAS,CAE9B;IAED,IAAI,cAAc,0BAEjB;IAED,IAAI,WAAW,0BAEd;IAED,IAAI,UAAU,2CAEb;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,gBAAgB,CAEtC;IAED,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;IAO7C,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;IAO1C;;OAEG;IACH,eAAe,IAAI,QAAQ,EAAE;IAI7B;;OAEG;IAKG,IAAI;IAmBJ,KAAK;IAkBL,sBAAsB;CAM7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"database-test-rig.d.ts","sourceRoot":"","sources":["../../../../src/testing/database-test-rig.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAwB,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIzC,qBAAa,mBAAmB;IAC9B,SAAgB,KAAK,0CAA+D;IAE9E,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAM9C;AAED,qBAAa,gBAAgB;aA+BC,GAAG,EAAE,mBAAmB;IA9BpD,SAAgB,YAAY,eAA4E;IAEjG,KAAK,EAAG,WAAW,CAAC;IACpB,KAAK,EAAG,aAAa,CAAC;IAEtB,IAAI,EAAG,YAAY,CAAC;IACpB,SAAS,EAAG,WAAW,CAAC;IAM/B,SAAgB,GAAG,YAAsB;IAElC,YAAY,EAAE,WAAW,EAAE,CAAM;IAExC;;OAEG;IACI,SAAS,SAAM;IAEtB;;OAEG;IACI,SAAS,YAAmB;IAE5B,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAC;IAE3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;gBAEd,GAAG,EAAE,mBAAmB;IAE9C,IAAI;IA6BV;;;OAGG;IACH,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM;IAOpB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,EAAE,SAAS;IAUxB;;OAEG;IACG,MAAM;IAOZ;;OAEG;IACH,YAAY,IAAI,aAAa;IAS7B;;;OAGG;IACH,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,gBAAgB;CAmCzB"}
1
+ {"version":3,"file":"database-test-rig.d.ts","sourceRoot":"","sources":["../../../../src/testing/database-test-rig.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAwB,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIzC,qBAAa,mBAAmB;IAC9B,SAAgB,KAAK,0CAA+D;IAE9E,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAM9C;AAED,qBAAa,gBAAgB;aA+BC,GAAG,EAAE,mBAAmB;IA9BpD,SAAgB,YAAY,eAA4E;IAEjG,KAAK,EAAG,WAAW,CAAC;IACpB,KAAK,EAAG,aAAa,CAAC;IAEtB,IAAI,EAAG,YAAY,CAAC;IACpB,SAAS,EAAG,WAAW,CAAC;IAM/B,SAAgB,GAAG,YAAsB;IAElC,YAAY,EAAE,WAAW,EAAE,CAAM;IAExC;;OAEG;IACI,SAAS,SAAM;IAEtB;;OAEG;IACI,SAAS,YAAmB;IAE5B,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAC;IAE3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;gBAEd,GAAG,EAAE,mBAAmB;IAE9C,IAAI;IA8BV;;;OAGG;IACH,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM;IAOpB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,EAAE,SAAS;IAUxB;;OAEG;IACG,MAAM;IAOZ;;OAEG;IACH,YAAY,IAAI,aAAa;IAS7B;;;OAGG;IACH,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,gBAAgB;CAmCzB"}
@@ -2,17 +2,19 @@ import { FeedStore } from '@dxos/feed-store';
2
2
  import { Keyring } from '@dxos/keyring';
3
3
  import { PublicKey } from '@dxos/keys';
4
4
  import { MemorySignalManagerContext } from '@dxos/messaging';
5
+ import { ModelFactory } from '@dxos/model-factory';
5
6
  import { NetworkManager } from '@dxos/network-manager';
6
7
  import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
7
8
  import { Storage } from '@dxos/random-access-storage';
8
9
  import { Gossip, Presence } from '@dxos/teleport-extension-gossip';
10
+ import { SnapshotStore } from '../dbhost';
11
+ import { MetadataStore } from '../metadata';
9
12
  import { Space, SpaceManager, SpaceProtocol } from '../space';
10
- import { DataPipeline } from '../space/data-pipeline';
11
13
  import { TestFeedBuilder } from './test-feed-builder';
12
- export declare type NetworkManagerProvider = () => NetworkManager;
14
+ export type NetworkManagerProvider = () => NetworkManager;
13
15
  export declare const MemoryNetworkManagerProvider: (signalContext: MemorySignalManagerContext) => NetworkManagerProvider;
14
16
  export declare const WebsocketNetworkManagerProvider: (signalUrl: string) => NetworkManagerProvider;
15
- export declare type TestAgentBuilderOptions = {
17
+ export type TestAgentBuilderOptions = {
16
18
  storage?: Storage;
17
19
  networkManagerProvider?: NetworkManagerProvider;
18
20
  };
@@ -38,16 +40,24 @@ export declare class TestAgent {
38
40
  readonly identityKey: PublicKey;
39
41
  readonly deviceKey: PublicKey;
40
42
  private readonly _spaces;
43
+ readonly storage: Storage;
41
44
  readonly keyring: Keyring;
42
45
  readonly feedStore: FeedStore<FeedMessage>;
46
+ private _metadataStore?;
47
+ get metadataStore(): MetadataStore;
48
+ private _snapshotStore?;
49
+ get snapshotStore(): SnapshotStore;
50
+ modelFactory: ModelFactory;
43
51
  constructor(_networkManagerProvider: NetworkManagerProvider, _feedBuilder: TestFeedBuilder, identityKey: PublicKey, deviceKey: PublicKey);
44
52
  close(): Promise<void[]>;
45
53
  get spaces(): Space[];
46
54
  getSpace(spaceKey: PublicKey): Space | undefined;
47
- createSpaceManager(): SpaceManager;
48
- createSpace(identityKey?: PublicKey, spaceKey?: PublicKey, genesisKey?: PublicKey): Promise<[Space, DataPipeline]>;
55
+ private _spaceManager?;
56
+ get spaceManager(): SpaceManager;
57
+ createSpace(identityKey?: PublicKey, spaceKey?: PublicKey, genesisKey?: PublicKey, dataKey?: PublicKey): Promise<Space>;
49
58
  createSpaceProtocol(topic: PublicKey, gossip?: Gossip): SpaceProtocol;
50
59
  createGossip(): Gossip;
51
60
  createPresence(gossip?: Gossip): Presence;
61
+ spaceGenesis(space: Space): Promise<void>;
52
62
  }
53
63
  //# sourceMappingURL=test-agent-builder.d.ts.map