@dxos/echo-pipeline 0.4.8 → 0.4.9-main.1057b49

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 (55) hide show
  1. package/dist/lib/browser/{chunk-WAN2XUWE.mjs → chunk-RTEEJ723.mjs} +273 -1131
  2. package/dist/lib/browser/chunk-RTEEJ723.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +2 -10
  4. package/dist/lib/browser/index.mjs.map +3 -3
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/testing/index.mjs +4 -60
  7. package/dist/lib/browser/testing/index.mjs.map +4 -4
  8. package/dist/lib/node/{chunk-U6J2HC4T.cjs → chunk-7VZVCCNF.cjs} +310 -1166
  9. package/dist/lib/node/chunk-7VZVCCNF.cjs.map +7 -0
  10. package/dist/lib/node/index.cjs +22 -30
  11. package/dist/lib/node/index.cjs.map +3 -3
  12. package/dist/lib/node/meta.json +1 -1
  13. package/dist/lib/node/testing/index.cjs +13 -68
  14. package/dist/lib/node/testing/index.cjs.map +4 -4
  15. package/dist/types/src/db-host/data-service.d.ts +3 -13
  16. package/dist/types/src/db-host/data-service.d.ts.map +1 -1
  17. package/dist/types/src/db-host/index.d.ts +0 -2
  18. package/dist/types/src/db-host/index.d.ts.map +1 -1
  19. package/dist/types/src/space/index.d.ts +0 -1
  20. package/dist/types/src/space/index.d.ts.map +1 -1
  21. package/dist/types/src/space/space-manager.d.ts +1 -4
  22. package/dist/types/src/space/space-manager.d.ts.map +1 -1
  23. package/dist/types/src/space/space.d.ts +1 -7
  24. package/dist/types/src/space/space.d.ts.map +1 -1
  25. package/dist/types/src/testing/index.d.ts +0 -1
  26. package/dist/types/src/testing/index.d.ts.map +1 -1
  27. package/dist/types/src/testing/test-agent-builder.d.ts +1 -3
  28. package/dist/types/src/testing/test-agent-builder.d.ts.map +1 -1
  29. package/package.json +30 -33
  30. package/src/automerge/automerge-host.ts +1 -1
  31. package/src/db-host/data-service.ts +10 -56
  32. package/src/db-host/index.ts +0 -2
  33. package/src/space/index.ts +0 -1
  34. package/src/space/space-manager.ts +1 -13
  35. package/src/space/space.test.ts +2 -112
  36. package/src/space/space.ts +2 -60
  37. package/src/testing/index.ts +0 -1
  38. package/src/testing/test-agent-builder.ts +3 -8
  39. package/dist/lib/browser/chunk-WAN2XUWE.mjs.map +0 -7
  40. package/dist/lib/node/chunk-U6J2HC4T.cjs.map +0 -7
  41. package/dist/types/src/db-host/data-service-host.d.ts +0 -38
  42. package/dist/types/src/db-host/data-service-host.d.ts.map +0 -1
  43. package/dist/types/src/db-host/database-host.d.ts +0 -27
  44. package/dist/types/src/db-host/database-host.d.ts.map +0 -1
  45. package/dist/types/src/space/data-pipeline.d.ts +0 -79
  46. package/dist/types/src/space/data-pipeline.d.ts.map +0 -1
  47. package/dist/types/src/space/data-pipeline.test.d.ts +0 -1
  48. package/dist/types/src/space/data-pipeline.test.d.ts.map +0 -1
  49. package/dist/types/src/testing/util.d.ts +0 -10
  50. package/dist/types/src/testing/util.d.ts.map +0 -1
  51. package/src/db-host/data-service-host.ts +0 -233
  52. package/src/db-host/database-host.ts +0 -63
  53. package/src/space/data-pipeline.test.ts +0 -3
  54. package/src/space/data-pipeline.ts +0 -425
  55. package/src/testing/util.ts +0 -61
@@ -1,6 +1,5 @@
1
1
  import { type FeedStore } from '@dxos/feed-store';
2
2
  import { PublicKey } from '@dxos/keys';
3
- import { type ModelFactory } from '@dxos/model-factory';
4
3
  import { type NetworkManager } from '@dxos/network-manager';
5
4
  import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
6
5
  import { type SpaceMetadata } from '@dxos/protocols/proto/dxos/echo/metadata';
@@ -14,7 +13,6 @@ import { type MetadataStore } from '../metadata';
14
13
  export type SpaceManagerParams = {
15
14
  feedStore: FeedStore<FeedMessage>;
16
15
  networkManager: NetworkManager;
17
- modelFactory: ModelFactory;
18
16
  metadataStore: MetadataStore;
19
17
  /**
20
18
  * @deprecated Replaced by BlobStore.
@@ -39,12 +37,11 @@ export declare class SpaceManager {
39
37
  private readonly _spaces;
40
38
  private readonly _feedStore;
41
39
  private readonly _networkManager;
42
- private readonly _modelFactory;
43
40
  private readonly _metadataStore;
44
41
  private readonly _snapshotStore;
45
42
  private readonly _blobStore;
46
43
  private readonly _instanceId;
47
- constructor({ feedStore, networkManager, modelFactory, metadataStore, snapshotStore, blobStore, }: SpaceManagerParams);
44
+ constructor({ feedStore, networkManager, metadataStore, snapshotStore, blobStore }: SpaceManagerParams);
48
45
  get spaces(): ComplexMap<PublicKey, Space>;
49
46
  open(): Promise<void>;
50
47
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"space-manager.d.ts","sourceRoot":"","sources":["../../../../src/space/space-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,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;IAE7B;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,sBAAsB,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC7C,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,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAE9C,EACV,SAAS,EACT,cAAc,EACd,YAAY,EACZ,aAAa,EACb,aAAa,EACb,SAAS,GACV,EAAE,kBAAkB;IAWrB,IAAI,MAAM,iCAET;IAGK,IAAI;IAGJ,KAAK;IAIL,cAAc,CAAC,EACnB,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,aAAa,EACb,SAAS,GACV,EAAE,oBAAoB;CAiCxB"}
1
+ {"version":3,"file":"space-manager.d.ts","sourceRoot":"","sources":["../../../../src/space/space-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAE7B;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,sBAAsB,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC7C,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,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAE9C,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,kBAAkB;IAUtG,IAAI,MAAM,iCAET;IAGK,IAAI;IAGJ,KAAK;IAIL,cAAc,CAAC,EACnB,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,aAAa,EACb,SAAS,GACV,EAAE,oBAAoB;CAgCxB"}
@@ -3,12 +3,10 @@ import { type Context } from '@dxos/context';
3
3
  import { type FeedInfo } from '@dxos/credentials';
4
4
  import { type FeedOptions, type FeedWrapper } from '@dxos/feed-store';
5
5
  import { type PublicKey } from '@dxos/keys';
6
- import { type ModelFactory } from '@dxos/model-factory';
7
6
  import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
8
7
  import { type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
9
8
  import { type Timeframe } from '@dxos/timeframe';
10
- import { type AsyncCallback, Callback } from '@dxos/util';
11
- import { DataPipeline } from './data-pipeline';
9
+ import { Callback, type AsyncCallback } from '@dxos/util';
12
10
  import { type SpaceProtocol } from './space-protocol';
13
11
  import { type SnapshotManager } from '../db-host';
14
12
  import { type MetadataStore } from '../metadata';
@@ -19,7 +17,6 @@ export type SpaceParams = {
19
17
  protocol: SpaceProtocol;
20
18
  genesisFeed: FeedWrapper<FeedMessage>;
21
19
  feedProvider: FeedProvider;
22
- modelFactory: ModelFactory;
23
20
  metadataStore: MetadataStore;
24
21
  snapshotManager: SnapshotManager;
25
22
  memberKey: PublicKey;
@@ -40,7 +37,6 @@ export declare class Space {
40
37
  private readonly _genesisFeedKey;
41
38
  private readonly _feedProvider;
42
39
  private readonly _controlPipeline;
43
- private readonly _dataPipeline;
44
40
  private readonly _snapshotManager;
45
41
  private _isOpen;
46
42
  private _controlFeed?;
@@ -56,7 +52,6 @@ export declare class Space {
56
52
  * @test-only
57
53
  */
58
54
  get controlPipeline(): PipelineAccessor;
59
- get dataPipeline(): DataPipeline;
60
55
  get snapshotManager(): SnapshotManager;
61
56
  setControlFeed(feed: FeedWrapper<FeedMessage>): Promise<this>;
62
57
  setDataFeed(feed: FeedWrapper<FeedMessage>): Promise<this>;
@@ -69,7 +64,6 @@ export declare class Space {
69
64
  */
70
65
  open(ctx: Context): Promise<void>;
71
66
  close(): Promise<void>;
72
- initializeDataPipeline(): Promise<void>;
73
67
  }
74
68
  export {};
75
69
  //# sourceMappingURL=space.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../../../src/space/space.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../../../src/space/space.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAmC,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,KAAK,YAAY,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;AAElG,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,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,qBAEa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAE7C,SAAgB,qBAAqB,sCAA6C;IAClF,SAAgB,WAAW,cAAe;IAC1C,SACgB,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;IAE7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IAEnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IAEnD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAC,CAA2B;IAChD,OAAO,CAAC,SAAS,CAAC,CAA2B;gBAEjC,MAAM,EAAE,WAAW;IAqC/B,IAEI,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,eAAe,IAAI,eAAe,CAErC;IAEK,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;IAO7C,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC;IAMhD;;OAEG;IACH,eAAe,IAAI,QAAQ,EAAE;IAI7B;;OAEG;IAMG,IAAI,CAAC,GAAG,EAAE,OAAO;IAejB,KAAK;CAaZ"}
@@ -1,5 +1,4 @@
1
1
  export * from './change-metadata';
2
2
  export * from './test-agent-builder';
3
3
  export * from './test-feed-builder';
4
- export * from './util';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
@@ -2,7 +2,6 @@ import { type FeedStore } from '@dxos/feed-store';
2
2
  import { type 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';
6
5
  import { NetworkManager } from '@dxos/network-manager';
7
6
  import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
8
7
  import { type Storage } from '@dxos/random-access-storage';
@@ -11,7 +10,7 @@ import { BlobStore } from '@dxos/teleport-extension-object-sync';
11
10
  import { TestFeedBuilder } from './test-feed-builder';
12
11
  import { SnapshotStore } from '../db-host';
13
12
  import { MetadataStore } from '../metadata';
14
- import { type Space, SpaceManager, SpaceProtocol } from '../space';
13
+ import { SpaceManager, SpaceProtocol, type Space } from '../space';
15
14
  export type NetworkManagerProvider = () => NetworkManager;
16
15
  export declare const MemoryNetworkManagerProvider: (signalContext: MemorySignalManagerContext) => NetworkManagerProvider;
17
16
  export declare const WebsocketNetworkManagerProvider: (signalUrl: string) => NetworkManagerProvider;
@@ -50,7 +49,6 @@ export declare class TestAgent {
50
49
  get snapshotStore(): SnapshotStore;
51
50
  private _blobStore?;
52
51
  get blobStore(): BlobStore;
53
- modelFactory: ModelFactory;
54
52
  constructor(_networkManagerProvider: NetworkManagerProvider, _feedBuilder: TestFeedBuilder, identityKey: PublicKey, deviceKey: PublicKey);
55
53
  close(): Promise<void[]>;
56
54
  get spaces(): Space[];
@@ -1 +1 @@
1
- {"version":3,"file":"test-agent-builder.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-agent-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-agent-builder.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-agent-builder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/echo-pipeline",
3
- "version": "0.4.8",
3
+ "version": "0.4.9-main.1057b49",
4
4
  "description": "ECHO database.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -36,38 +36,35 @@
36
36
  ],
37
37
  "dependencies": {
38
38
  "crc-32": "^1.2.2",
39
- "@dxos/async": "0.4.8",
40
- "@dxos/context": "0.4.8",
41
- "@dxos/codec-protobuf": "0.4.8",
42
- "@dxos/credentials": "0.4.8",
43
- "@dxos/automerge": "0.4.8",
44
- "@dxos/crypto": "0.4.8",
45
- "@dxos/debug": "0.4.8",
46
- "@dxos/echo-db": "0.4.8",
47
- "@dxos/feed-store": "0.4.8",
48
- "@dxos/document-model": "0.4.8",
49
- "@dxos/hypercore": "0.4.8",
50
- "@dxos/invariant": "0.4.8",
51
- "@dxos/keyring": "0.4.8",
52
- "@dxos/keys": "0.4.8",
53
- "@dxos/log": "0.4.8",
54
- "@dxos/messaging": "0.4.8",
55
- "@dxos/model-factory": "0.4.8",
56
- "@dxos/network-manager": "0.4.8",
57
- "@dxos/protocols": "0.4.8",
58
- "@dxos/node-std": "0.4.8",
59
- "@dxos/random-access-storage": "0.4.8",
60
- "@dxos/rpc": "0.4.8",
61
- "@dxos/teleport": "0.4.8",
62
- "@dxos/teleport-extension-automerge-replicator": "0.4.8",
63
- "@dxos/teleport-extension-object-sync": "0.4.8",
64
- "@dxos/teleport-extension-gossip": "0.4.8",
65
- "@dxos/teleport-extension-replicator": "0.4.8",
66
- "@dxos/text-model": "0.4.8",
67
- "@dxos/timeframe": "0.4.8",
68
- "@dxos/tracing": "0.4.8",
69
- "@dxos/typings": "0.4.8",
70
- "@dxos/util": "0.4.8"
39
+ "@dxos/async": "0.4.9-main.1057b49",
40
+ "@dxos/automerge": "0.4.9-main.1057b49",
41
+ "@dxos/codec-protobuf": "0.4.9-main.1057b49",
42
+ "@dxos/credentials": "0.4.9-main.1057b49",
43
+ "@dxos/crypto": "0.4.9-main.1057b49",
44
+ "@dxos/context": "0.4.9-main.1057b49",
45
+ "@dxos/debug": "0.4.9-main.1057b49",
46
+ "@dxos/echo-db": "0.4.9-main.1057b49",
47
+ "@dxos/hypercore": "0.4.9-main.1057b49",
48
+ "@dxos/invariant": "0.4.9-main.1057b49",
49
+ "@dxos/feed-store": "0.4.9-main.1057b49",
50
+ "@dxos/keys": "0.4.9-main.1057b49",
51
+ "@dxos/log": "0.4.9-main.1057b49",
52
+ "@dxos/keyring": "0.4.9-main.1057b49",
53
+ "@dxos/network-manager": "0.4.9-main.1057b49",
54
+ "@dxos/messaging": "0.4.9-main.1057b49",
55
+ "@dxos/node-std": "0.4.9-main.1057b49",
56
+ "@dxos/random-access-storage": "0.4.9-main.1057b49",
57
+ "@dxos/protocols": "0.4.9-main.1057b49",
58
+ "@dxos/rpc": "0.4.9-main.1057b49",
59
+ "@dxos/teleport": "0.4.9-main.1057b49",
60
+ "@dxos/teleport-extension-gossip": "0.4.9-main.1057b49",
61
+ "@dxos/teleport-extension-object-sync": "0.4.9-main.1057b49",
62
+ "@dxos/teleport-extension-automerge-replicator": "0.4.9-main.1057b49",
63
+ "@dxos/teleport-extension-replicator": "0.4.9-main.1057b49",
64
+ "@dxos/timeframe": "0.4.9-main.1057b49",
65
+ "@dxos/tracing": "0.4.9-main.1057b49",
66
+ "@dxos/typings": "0.4.9-main.1057b49",
67
+ "@dxos/util": "0.4.9-main.1057b49"
71
68
  },
72
69
  "devDependencies": {
73
70
  "fast-check": "^3.15.1",
@@ -172,7 +172,7 @@ export class AutomergeHost {
172
172
  }
173
173
 
174
174
  const heads = getHeads(event.doc);
175
- const lastAvailableHash = heads.at(-1);
175
+ const lastAvailableHash = heads.join('');
176
176
  if (!lastAvailableHash) {
177
177
  return;
178
178
  }
@@ -3,83 +3,37 @@
3
3
  //
4
4
 
5
5
  import { type Stream } from '@dxos/codec-protobuf';
6
- import { raise } from '@dxos/debug';
7
- import { invariant } from '@dxos/invariant';
8
- import { PublicKey } from '@dxos/keys';
9
- import { log } from '@dxos/log';
10
6
  import {
11
7
  type DataService,
12
- type MutationReceipt,
13
- type SubscribeRequest,
14
8
  type EchoEvent,
15
- type WriteRequest,
16
9
  type FlushRequest,
10
+ type HostInfo,
11
+ type MutationReceipt,
12
+ type SubscribeRequest,
17
13
  type SyncRepoRequest,
18
14
  type SyncRepoResponse,
19
- type HostInfo,
15
+ type WriteRequest,
20
16
  } from '@dxos/protocols/proto/dxos/echo/service';
21
- import { ComplexMap } from '@dxos/util';
22
17
 
23
- import { type DataServiceHost } from './data-service-host';
24
18
  import { type AutomergeHost } from '../automerge';
25
19
 
26
- // TODO(burdon): Clear on close.
27
- export class DataServiceSubscriptions {
28
- private readonly _spaces = new ComplexMap<PublicKey, DataServiceHost>(PublicKey.hash);
29
-
30
- clear() {
31
- this._spaces.clear();
32
- }
33
-
34
- async registerSpace(spaceKey: PublicKey, host: DataServiceHost) {
35
- log('Registering space', { spaceKey });
36
- invariant(!this._spaces.has(spaceKey));
37
- await host.open();
38
- this._spaces.set(spaceKey, host);
39
- }
40
-
41
- async unregisterSpace(spaceKey: PublicKey) {
42
- log('Unregistering space', { spaceKey });
43
- const host = this._spaces.get(spaceKey);
44
- await host?.close();
45
- this._spaces.delete(spaceKey);
46
- }
47
-
48
- getDataService(spaceKey: PublicKey) {
49
- return this._spaces.get(spaceKey);
50
- }
51
- }
52
-
53
20
  /**
54
- * Routes DataService requests to different DataServiceHost instances based on space id.
21
+ * Data sync between client and services.
55
22
  */
56
23
  // TODO(burdon): Move to client-services.
57
24
  export class DataServiceImpl implements DataService {
58
- constructor(
59
- private readonly _subscriptions: DataServiceSubscriptions,
60
- private readonly _automergeHost: AutomergeHost,
61
- ) {}
25
+ constructor(private readonly _automergeHost: AutomergeHost) {}
62
26
 
63
27
  subscribe(request: SubscribeRequest): Stream<EchoEvent> {
64
- invariant(request.spaceKey);
65
- const host =
66
- this._subscriptions.getDataService(request.spaceKey) ?? raise(new Error(`space not found: ${request.spaceKey}`));
67
- return host.subscribe();
28
+ throw new Error('Deprecated.');
68
29
  }
69
30
 
70
31
  write(request: WriteRequest): Promise<MutationReceipt> {
71
- invariant(request.spaceKey);
72
- invariant(request.batch);
73
- const host =
74
- this._subscriptions.getDataService(request.spaceKey) ?? raise(new Error(`space not found: ${request.spaceKey}`));
75
- return host.write(request);
32
+ throw new Error('Deprecated.');
76
33
  }
77
34
 
78
- flush(request: FlushRequest): Promise<void> {
79
- invariant(request.spaceKey);
80
- const host =
81
- this._subscriptions.getDataService(request.spaceKey) ?? raise(new Error(`space not found: ${request.spaceKey}`));
82
- return host.flush();
35
+ async flush(request: FlushRequest): Promise<void> {
36
+ // TODO(dmaretskyi): Implement with automerge.
83
37
  }
84
38
 
85
39
  // Automerge specific.
@@ -2,8 +2,6 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- export * from './data-service-host';
6
- export * from './database-host';
7
5
  export * from './snapshot-manager';
8
6
  export * from './snapshot-store';
9
7
  export * from './data-service';
@@ -6,4 +6,3 @@ export * from './auth';
6
6
  export * from './space';
7
7
  export * from './space-manager';
8
8
  export * from './space-protocol';
9
- export * from './data-pipeline';
@@ -7,7 +7,6 @@ import { failUndefined } from '@dxos/debug';
7
7
  import { type FeedStore } from '@dxos/feed-store';
8
8
  import { PublicKey } from '@dxos/keys';
9
9
  import { log } from '@dxos/log';
10
- import { type ModelFactory } from '@dxos/model-factory';
11
10
  import { type NetworkManager } from '@dxos/network-manager';
12
11
  import { trace } from '@dxos/protocols';
13
12
  import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
@@ -24,7 +23,6 @@ import { type MetadataStore } from '../metadata';
24
23
  export type SpaceManagerParams = {
25
24
  feedStore: FeedStore<FeedMessage>;
26
25
  networkManager: NetworkManager;
27
- modelFactory: ModelFactory;
28
26
  metadataStore: MetadataStore;
29
27
 
30
28
  /**
@@ -54,24 +52,15 @@ export class SpaceManager {
54
52
  private readonly _spaces = new ComplexMap<PublicKey, Space>(PublicKey.hash);
55
53
  private readonly _feedStore: FeedStore<FeedMessage>;
56
54
  private readonly _networkManager: NetworkManager;
57
- private readonly _modelFactory: ModelFactory;
58
55
  private readonly _metadataStore: MetadataStore;
59
56
  private readonly _snapshotStore: SnapshotStore;
60
57
  private readonly _blobStore: BlobStore;
61
58
  private readonly _instanceId = PublicKey.random().toHex();
62
59
 
63
- constructor({
64
- feedStore,
65
- networkManager,
66
- modelFactory,
67
- metadataStore,
68
- snapshotStore,
69
- blobStore,
70
- }: SpaceManagerParams) {
60
+ constructor({ feedStore, networkManager, metadataStore, snapshotStore, blobStore }: SpaceManagerParams) {
71
61
  // TODO(burdon): Assert.
72
62
  this._feedStore = feedStore;
73
63
  this._networkManager = networkManager;
74
- this._modelFactory = modelFactory;
75
64
  this._metadataStore = metadataStore;
76
65
  this._snapshotStore = snapshotStore;
77
66
  this._blobStore = blobStore;
@@ -119,7 +108,6 @@ export class SpaceManager {
119
108
  protocol,
120
109
  genesisFeed,
121
110
  feedProvider: (feedKey, opts) => this._feedStore.openFeed(feedKey, opts),
122
- modelFactory: this._modelFactory,
123
111
  metadataStore: this._metadataStore,
124
112
  snapshotManager,
125
113
  memberKey,
@@ -3,14 +3,12 @@
3
3
  //
4
4
 
5
5
  import expect from 'expect';
6
- import { promisify } from 'node:util';
7
6
 
8
7
  import { Context } from '@dxos/context';
9
- import { createCredential, CredentialGenerator } from '@dxos/credentials';
10
- import { invariant } from '@dxos/invariant';
8
+ import { CredentialGenerator } from '@dxos/credentials';
11
9
  import { afterTest, describe, test } from '@dxos/test';
12
10
 
13
- import { TestAgentBuilder, testLocalDatabase } from '../testing';
11
+ import { TestAgentBuilder } from '../testing';
14
12
 
15
13
  // TODO(burdon): Factor out?
16
14
  const run = <T>(cb: () => Promise<T>): Promise<T> => cb();
@@ -29,11 +27,6 @@ describe('space/space', () => {
29
27
  await agent.spaceGenesis(space);
30
28
 
31
29
  await space.controlPipeline.state!.waitUntilTimeframe(space.controlPipeline.state!.endTimeframe);
32
- await space.initializeDataPipeline();
33
- await space.dataPipeline.ensureEpochInitialized();
34
-
35
- invariant(space.dataPipeline.databaseHost);
36
- await testLocalDatabase(space.dataPipeline);
37
30
 
38
31
  await builder.close();
39
32
  expect(space.isOpen).toBeFalsy();
@@ -57,8 +50,6 @@ describe('space/space', () => {
57
50
  await agent.spaceGenesis(space);
58
51
 
59
52
  await space.controlPipeline.state!.waitUntilTimeframe(space.controlPipeline.state!.endTimeframe);
60
- await space.initializeDataPipeline();
61
- await space.dataPipeline.ensureEpochInitialized();
62
53
 
63
54
  return [agent, space];
64
55
  });
@@ -100,9 +91,6 @@ describe('space/space', () => {
100
91
  }
101
92
  }
102
93
 
103
- await space2.initializeDataPipeline();
104
- await space2.dataPipeline.ensureEpochInitialized();
105
-
106
94
  {
107
95
  // Initial data exchange.
108
96
 
@@ -115,9 +103,6 @@ describe('space/space', () => {
115
103
 
116
104
  // TODO(burdon): Write multiple items (extract for all tests).
117
105
 
118
- await testLocalDatabase(space1.dataPipeline, space2.dataPipeline);
119
- await testLocalDatabase(space2.dataPipeline, space1.dataPipeline);
120
-
121
106
  await builder.close();
122
107
  expect(space1.isOpen).toBeFalsy();
123
108
  expect(space2.isOpen).toBeFalsy();
@@ -136,13 +121,6 @@ describe('space/space', () => {
136
121
  await agent.spaceGenesis(space1);
137
122
 
138
123
  await space1.controlPipeline.state!.waitUntilTimeframe(space1.controlPipeline.state!.endTimeframe);
139
- await space1.initializeDataPipeline();
140
- await space1.dataPipeline.ensureEpochInitialized();
141
-
142
- invariant(space1.dataPipeline.databaseHost);
143
- await testLocalDatabase(space1.dataPipeline);
144
-
145
- const objectCount = space1.dataPipeline.itemManager.entities.size;
146
124
 
147
125
  await space1.close();
148
126
  expect(space1.isOpen).toBeFalsy();
@@ -152,16 +130,6 @@ describe('space/space', () => {
152
130
 
153
131
  await space2.open(new Context());
154
132
  await space2.controlPipeline.state!.waitUntilTimeframe(space2.controlPipeline.state!.endTimeframe);
155
- await space2.initializeDataPipeline();
156
- await space2.dataPipeline.ensureEpochInitialized();
157
-
158
- space2.dataPipeline.setTargetTimeframe(space2.dataPipeline.pipelineState!.endTimeframe);
159
- await space2.dataPipeline.pipelineState!.waitUntilReachedTargetTimeframe();
160
-
161
- invariant(space2.dataPipeline.databaseHost);
162
- expect(space2.dataPipeline.itemManager.entities.size).toEqual(objectCount);
163
-
164
- await testLocalDatabase(space2.dataPipeline);
165
133
  });
166
134
 
167
135
  test('re-open', async () => {
@@ -170,7 +138,6 @@ describe('space/space', () => {
170
138
  const agent = await builder.createPeer();
171
139
  const space = await agent.createSpace();
172
140
 
173
- let objectCount: number;
174
141
  {
175
142
  await space.open(new Context());
176
143
  afterTest(() => space.close());
@@ -179,13 +146,6 @@ describe('space/space', () => {
179
146
  await agent.spaceGenesis(space);
180
147
 
181
148
  await space.controlPipeline.state!.waitUntilTimeframe(space.controlPipeline.state!.endTimeframe);
182
- await space.initializeDataPipeline();
183
- await space.dataPipeline.ensureEpochInitialized();
184
-
185
- invariant(space.dataPipeline.databaseHost);
186
- await testLocalDatabase(space.dataPipeline);
187
-
188
- objectCount = space.dataPipeline.itemManager.entities.size;
189
149
 
190
150
  await space.close();
191
151
  expect(space.isOpen).toBeFalsy();
@@ -197,76 +157,6 @@ describe('space/space', () => {
197
157
  expect(space.isOpen).toBeTruthy();
198
158
 
199
159
  await space.controlPipeline.state!.waitUntilTimeframe(space.controlPipeline.state!.endTimeframe);
200
- await space.initializeDataPipeline();
201
- await space.dataPipeline.ensureEpochInitialized();
202
-
203
- space.dataPipeline.setTargetTimeframe(space.dataPipeline.pipelineState!.endTimeframe);
204
- await space.dataPipeline.pipelineState!.waitUntilReachedTargetTimeframe();
205
-
206
- invariant(space.dataPipeline.databaseHost);
207
- expect(space.dataPipeline.itemManager.entities.size).toEqual(objectCount);
208
-
209
- await testLocalDatabase(space.dataPipeline);
210
160
  }
211
161
  });
212
-
213
- test('create epoch', async () => {
214
- const builder = new TestAgentBuilder();
215
- afterTest(async () => await builder.close());
216
- const agent = await builder.createPeer();
217
- const space1 = await agent.createSpace();
218
-
219
- await space1.open(new Context());
220
- expect(space1.isOpen).toBeTruthy();
221
- afterTest(() => space1.close());
222
-
223
- await agent.spaceGenesis(space1);
224
-
225
- await space1.controlPipeline.state!.waitUntilTimeframe(space1.controlPipeline.state!.endTimeframe);
226
- await space1.initializeDataPipeline();
227
- await space1.dataPipeline.ensureEpochInitialized();
228
-
229
- invariant(space1.dataPipeline.databaseHost);
230
- await testLocalDatabase(space1.dataPipeline);
231
-
232
- const objectCount = space1.dataPipeline.itemManager.entities.size;
233
-
234
- const epoch = await space1.dataPipeline.createEpoch();
235
- await space1.controlPipeline.writer.write({
236
- credential: {
237
- credential: await createCredential({
238
- issuer: agent.identityKey,
239
- subject: space1.key,
240
- assertion: {
241
- '@type': 'dxos.halo.credentials.Epoch',
242
- ...epoch,
243
- },
244
- signer: agent.keyring,
245
- }),
246
- },
247
- });
248
-
249
- await space1.close();
250
- expect(space1.isOpen).toBeFalsy();
251
-
252
- // Clear the data feed - epoch snapshot should have the data.
253
- const feed = await agent.feedStore.openFeed(space1.dataFeedKey!, { sparse: true });
254
- await promisify(feed.core.clear.bind(feed.core))(0, feed.length);
255
-
256
- // Re-open.
257
- const space2 = await agent.createSpace(agent.identityKey, space1.key, space1.genesisFeedKey, space1.dataFeedKey);
258
-
259
- await space2.open(new Context());
260
- await space2.controlPipeline.state!.waitUntilTimeframe(space2.controlPipeline.state!.endTimeframe);
261
- await space2.initializeDataPipeline();
262
- await space2.dataPipeline.ensureEpochInitialized();
263
-
264
- space2.dataPipeline.setTargetTimeframe(space2.dataPipeline.pipelineState!.endTimeframe);
265
- await space2.dataPipeline.pipelineState!.waitUntilReachedTargetTimeframe();
266
-
267
- invariant(space2.dataPipeline.databaseHost);
268
- expect(space2.dataPipeline.itemManager.entities.size).toEqual(objectCount);
269
-
270
- await testLocalDatabase(space2.dataPipeline);
271
- });
272
162
  });