@dxos/client-services 0.1.51-next.03aa1a8 → 0.1.51-next.5787f10

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.
@@ -2,7 +2,7 @@ import { Event as AsyncEvent } from '@dxos/async';
2
2
  import { Stream } from '@dxos/codec-protobuf';
3
3
  import { Config } from '@dxos/config';
4
4
  import { ClearSnapshotsRequest, DevtoolsHost, // TODO(burdon): Rename DevtoolsService
5
- EnableDebugLoggingRequest, EnableDebugLoggingResponse, Event, GetConfigResponse, GetNetworkPeersRequest, GetNetworkPeersResponse, GetSpaceSnapshotRequest, GetSpaceSnapshotResponse, ResetStorageRequest, SaveSpaceSnapshotRequest, SaveSpaceSnapshotResponse, SubscribeToCredentialMessagesRequest, SubscribeToCredentialMessagesResponse, SubscribeToFeedBlocksRequest, SubscribeToFeedBlocksResponse, SubscribeToFeedsRequest, SubscribeToFeedsResponse, SubscribeToItemsRequest, SubscribeToItemsResponse, SubscribeToKeyringKeysRequest, SubscribeToKeyringKeysResponse, SubscribeToNetworkTopicsResponse, SubscribeToSpacesRequest, SubscribeToSpacesResponse, SubscribeToSignalStatusResponse, SignalResponse, SubscribeToSwarmInfoResponse, StorageInfo, GetSnapshotsResponse, SubscribeToMetadataResponse } from '@dxos/protocols/proto/dxos/devtools/host';
5
+ EnableDebugLoggingRequest, EnableDebugLoggingResponse, Event, GetConfigResponse, GetNetworkPeersRequest, GetNetworkPeersResponse, GetSpaceSnapshotRequest, GetSpaceSnapshotResponse, ResetStorageRequest, SaveSpaceSnapshotRequest, SaveSpaceSnapshotResponse, SubscribeToCredentialMessagesRequest, SubscribeToCredentialMessagesResponse, SubscribeToFeedBlocksRequest, SubscribeToFeedBlocksResponse, SubscribeToFeedsRequest, SubscribeToFeedsResponse, SubscribeToItemsRequest, SubscribeToItemsResponse, SubscribeToKeyringKeysRequest, SubscribeToKeyringKeysResponse, SubscribeToNetworkTopicsResponse, SubscribeToSpacesRequest, SubscribeToSpacesResponse, SubscribeToSignalStatusResponse, SignalResponse, SubscribeToSwarmInfoResponse, StorageInfo, GetSnapshotsResponse, SubscribeToMetadataResponse, GetBlobsResponse } from '@dxos/protocols/proto/dxos/devtools/host';
6
6
  import { ServiceContext } from '../services';
7
7
  export declare class DevtoolsHostEvents {
8
8
  readonly ready: AsyncEvent<void>;
@@ -21,6 +21,7 @@ export declare class DevtoolsServiceImpl implements DevtoolsHost {
21
21
  events(request: void): Stream<Event>;
22
22
  getConfig(request: void): Promise<GetConfigResponse>;
23
23
  getStorageInfo(): Promise<StorageInfo>;
24
+ getBlobs(): Promise<GetBlobsResponse>;
24
25
  getSnapshots(): Promise<GetSnapshotsResponse>;
25
26
  resetStorage(request: ResetStorageRequest): Promise<void>;
26
27
  enableDebugLogging(request: EnableDebugLoggingRequest): Promise<EnableDebugLoggingResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/devtools/devtools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/devtools/devtools.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { NetworkManager } from '@dxos/network-manager';
8
8
  import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
9
9
  import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
10
10
  import { Storage } from '@dxos/random-access-storage';
11
+ import { BlobStore } from '@dxos/teleport-extension-object-sync';
11
12
  import { CreateIdentityOptions, IdentityManager } from '../identity';
12
13
  import { InvitationsHandler, InvitationProtocol } from '../invitations';
13
14
  import { DataSpaceManager } from '../spaces';
@@ -22,7 +23,11 @@ export declare class ServiceContext {
22
23
  readonly initialized: Trigger<void>;
23
24
  readonly dataServiceSubscriptions: DataServiceSubscriptions;
24
25
  readonly metadataStore: MetadataStore;
26
+ /**
27
+ * @deprecated
28
+ */
25
29
  readonly snapshotStore: SnapshotStore;
30
+ readonly blobStore: BlobStore;
26
31
  readonly feedStore: FeedStore<FeedMessage>;
27
32
  readonly keyring: Keyring;
28
33
  readonly spaceManager: SpaceManager;
@@ -1 +1 @@
1
- {"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,wBAAwB,EACxB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AACzF,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAkB,MAAM,WAAW,CAAC;AAE7D;;GAEG;AAEH,qBAAa,cAAc;aAyBP,OAAO,EAAE,OAAO;aAChB,cAAc,EAAE,cAAc;aAC9B,aAAa,EAAE,aAAa;aAC5B,YAAY,EAAE,YAAY;IA3B5C,SAAgB,WAAW,gBAAiB;IAC5C,SAAgB,wBAAwB,2BAAkC;IAC1E,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClD,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,YAAY,EAAE,YAAY,CAAC;IAC3C,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,WAAW,EAAE,kBAAkB,CAAC;IAGzC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAE3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAG9B;IAEJ,OAAO,CAAC,gBAAgB,CAAC,CAA0B;IAEnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAIxC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY;IA+CtC,IAAI;IAiBJ,KAAK;IAaL,cAAc,CAAC,MAAM,GAAE,qBAA0B;IAOvD,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,kBAAkB;YAMtF,eAAe;YAOf,oBAAoB;YASpB,WAAW;CA6D1B"}
1
+ {"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,wBAAwB,EACxB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AACzF,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAkB,MAAM,WAAW,CAAC;AAE7D;;GAEG;AAEH,qBAAa,cAAc;aA6BP,OAAO,EAAE,OAAO;aAChB,cAAc,EAAE,cAAc;aAC9B,aAAa,EAAE,aAAa;aAC5B,YAAY,EAAE,YAAY;IA/B5C,SAAgB,WAAW,gBAAiB;IAC5C,SAAgB,wBAAwB,2BAAkC;IAC1E,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C;;OAEG;IACH,SAAgB,aAAa,EAAE,aAAa,CAAC;IAC7C,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,SAAgB,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClD,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,YAAY,EAAE,YAAY,CAAC;IAC3C,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,WAAW,EAAE,kBAAkB,CAAC;IAGzC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAE3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAG9B;IAEJ,OAAO,CAAC,gBAAgB,CAAC,CAA0B;IAEnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAIxC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY;IAiDtC,IAAI;IAiBJ,KAAK;IAaL,cAAc,CAAC,MAAM,GAAE,qBAA0B;IAOvD,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,kBAAkB;YAMtF,eAAe;YAOf,oBAAoB;YASpB,WAAW;CA6D1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-space-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAA4B,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAA0B,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAS,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,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,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,EAAE,SAAS,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAE7B;;;OAGG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAEF,qBACa,gBAAgB;IAWzB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAf7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,SAAgB,OAAO,cAAe;IAEtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwD;IAEhF,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAGvC,aAAa,EAAE,YAAY,EAC3B,cAAc,EAAE,aAAa,EAC7B,yBAAyB,EAAE,wBAAwB,EACnD,QAAQ,EAAE,OAAO,EACjB,eAAe,EAAE,cAAc,EAC/B,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC;IAIrD,IAAI,MAAM,qCAET;IAGK,IAAI;IAsBJ,KAAK;IASX;;OAEG;IAEG,WAAW;IA8BX,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IAqB/D;;;;OAIG;IACG,mBAAmB,CAAC,QAAQ,EAAE,SAAS;YAU/B,eAAe;CA8E9B"}
1
+ {"version":3,"file":"data-space-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAA4B,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAA0B,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAS,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,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,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,EAAE,SAAS,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAE7B;;;OAGG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAEF,qBACa,gBAAgB;IAWzB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAf7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,SAAgB,OAAO,cAAe;IAEtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwD;IAEhF,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAGvC,aAAa,EAAE,YAAY,EAC3B,cAAc,EAAE,aAAa,EAC7B,yBAAyB,EAAE,wBAAwB,EACnD,QAAQ,EAAE,OAAO,EACjB,eAAe,EAAE,cAAc,EAC/B,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC;IAIrD,IAAI,MAAM,qCAET;IAGK,IAAI;IAsBJ,KAAK;IASX;;OAEG;IAEG,WAAW;IA8BX,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IAqB/D;;;;OAIG;IACG,mBAAmB,CAAC,QAAQ,EAAE,SAAS;YAU/B,eAAe;CA6E9B"}
@@ -5,6 +5,7 @@ import { Keyring } from '@dxos/keyring';
5
5
  import { MemorySignalManagerContext } from '@dxos/messaging';
6
6
  import { NetworkManager } from '@dxos/network-manager';
7
7
  import { Storage, StorageType } from '@dxos/random-access-storage';
8
+ import { BlobStore } from '@dxos/teleport-extension-object-sync';
8
9
  import { ClientServicesHost, ServiceContext } from '../services';
9
10
  import { SigningContext } from '../spaces';
10
11
  export declare const createServiceHost: (config: Config, signalManagerContext: MemorySignalManagerContext) => ClientServicesHost;
@@ -32,6 +33,7 @@ export type TestPeerProps = {
32
33
  networkManager?: NetworkManager;
33
34
  spaceManager?: SpaceManager;
34
35
  snapshotStore?: SnapshotStore;
36
+ blobStore?: BlobStore;
35
37
  };
36
38
  export declare class TestPeer {
37
39
  private readonly signalContext;
@@ -42,6 +44,7 @@ export declare class TestPeer {
42
44
  get keyring(): Keyring;
43
45
  get feedStore(): FeedStore<any>;
44
46
  get metadataStore(): MetadataStore;
47
+ get blobStore(): BlobStore;
45
48
  get snapshotStore(): SnapshotStore;
46
49
  get networkManager(): NetworkManager;
47
50
  get spaceManager(): SpaceManager;
@@ -1 +1 @@
1
- {"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/test-builder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAiB,MAAM,qBAAqB,CAAC;AAE9G,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAuB,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAA0B,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAiB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAElF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAM3C,eAAO,MAAM,iBAAiB,WAAY,MAAM,wBAAwB,0BAA0B,uBAMjG,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;oBAehC,CAAC;AAEF,eAAO,MAAM,WAAW,aAAoB,MAAM,8BAUjD,CAAC;AAEF,eAAO,MAAM,cAAc,SAAgB,cAAc,4BAGxD,CAAC;AAIF,eAAO,MAAM,cAAc,QAAe,YAAY,OAAO,YAAY,kBAGxE,CAAC;AAEF,qBAAa,WAAW;IACtB,SAAgB,aAAa,6BAAoC;IACjE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,UAAU,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,QAAQ;IAM1C,OAAO;CAGd;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEF,qBAAa,QAAQ;IAIjB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJvB,OAAO,CAAC,MAAM,CAAqB;gBAGhB,aAAa,EAAE,0BAA0B,EACzC,IAAI,GAAE,YAA+C;IAGxE,IAAI,OAAO,YAEV;IAED,IAAI,OAAO,YAEV;IAED,IAAI,SAAS,mBAUZ;IAED,IAAI,aAAa,kBAEhB;IAED,IAAI,aAAa,kBAEhB;IAED,IAAI,cAAc,mBAKjB;IAED,IAAI,YAAY,iBAQf;IAEK,OAAO;CAGd;AAED,eAAO,MAAM,oBAAoB,YAAmB,OAAO,KAAG,QAAQ,cAAc,CAgBnF,CAAC"}
1
+ {"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/testing/test-builder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAiB,MAAM,qBAAqB,CAAC;AAE9G,OAAO,EAAe,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAuB,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAA0B,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAiB,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAM3C,eAAO,MAAM,iBAAiB,WAAY,MAAM,wBAAwB,0BAA0B,uBAMjG,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;oBAehC,CAAC;AAEF,eAAO,MAAM,WAAW,aAAoB,MAAM,8BAUjD,CAAC;AAEF,eAAO,MAAM,cAAc,SAAgB,cAAc,4BAGxD,CAAC;AAIF,eAAO,MAAM,cAAc,QAAe,YAAY,OAAO,YAAY,kBAGxE,CAAC;AAEF,qBAAa,WAAW;IACtB,SAAgB,aAAa,6BAAoC;IACjE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IAEtC,UAAU,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,QAAQ;IAM1C,OAAO;CAGd;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,qBAAa,QAAQ;IAIjB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJvB,OAAO,CAAC,MAAM,CAAqB;gBAGhB,aAAa,EAAE,0BAA0B,EACzC,IAAI,GAAE,YAA+C;IAGxE,IAAI,OAAO,YAEV;IAED,IAAI,OAAO,YAEV;IAED,IAAI,SAAS,mBAUZ;IAED,IAAI,aAAa,kBAEhB;IAED,IAAI,SAAS,cAEZ;IAED,IAAI,aAAa,kBAEhB;IAED,IAAI,cAAc,mBAKjB;IAED,IAAI,YAAY,iBASf;IAEK,OAAO;CAGd;AAED,eAAO,MAAM,oBAAoB,YAAmB,OAAO,KAAG,QAAQ,cAAc,CAgBnF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/client-services",
3
- "version": "0.1.51-next.03aa1a8",
3
+ "version": "0.1.51-next.5787f10",
4
4
  "description": "DXOS client services implementation",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -23,38 +23,39 @@
23
23
  "dependencies": {
24
24
  "@types/lockfile": "^1.0.2",
25
25
  "lockfile": "^1.0.4",
26
- "@dxos/async": "0.1.51-next.03aa1a8",
27
- "@dxos/client-protocol": "0.1.51-next.03aa1a8",
28
- "@dxos/codec-protobuf": "0.1.51-next.03aa1a8",
29
- "@dxos/config": "0.1.51-next.03aa1a8",
30
- "@dxos/context": "0.1.51-next.03aa1a8",
31
- "@dxos/credentials": "0.1.51-next.03aa1a8",
32
- "@dxos/crypto": "0.1.51-next.03aa1a8",
33
- "@dxos/debug": "0.1.51-next.03aa1a8",
34
- "@dxos/document-model": "0.1.51-next.03aa1a8",
35
- "@dxos/echo-db": "0.1.51-next.03aa1a8",
36
- "@dxos/echo-pipeline": "0.1.51-next.03aa1a8",
37
- "@dxos/errors": "0.1.51-next.03aa1a8",
38
- "@dxos/feed-store": "0.1.51-next.03aa1a8",
39
- "@dxos/keyring": "0.1.51-next.03aa1a8",
40
- "@dxos/keys": "0.1.51-next.03aa1a8",
41
- "@dxos/log": "0.1.51-next.03aa1a8",
42
- "@dxos/messaging": "0.1.51-next.03aa1a8",
43
- "@dxos/model-factory": "0.1.51-next.03aa1a8",
44
- "@dxos/network-manager": "0.1.51-next.03aa1a8",
45
- "@dxos/node-std": "0.1.51-next.03aa1a8",
46
- "@dxos/protocols": "0.1.51-next.03aa1a8",
47
- "@dxos/random-access-storage": "0.1.51-next.03aa1a8",
48
- "@dxos/rpc": "0.1.51-next.03aa1a8",
49
- "@dxos/teleport": "0.1.51-next.03aa1a8",
50
- "@dxos/teleport-extension-gossip": "0.1.51-next.03aa1a8",
51
- "@dxos/text-model": "0.1.51-next.03aa1a8",
52
- "@dxos/timeframe": "0.1.51-next.03aa1a8",
53
- "@dxos/util": "0.1.51-next.03aa1a8"
26
+ "@dxos/async": "0.1.51-next.5787f10",
27
+ "@dxos/client-protocol": "0.1.51-next.5787f10",
28
+ "@dxos/codec-protobuf": "0.1.51-next.5787f10",
29
+ "@dxos/config": "0.1.51-next.5787f10",
30
+ "@dxos/context": "0.1.51-next.5787f10",
31
+ "@dxos/credentials": "0.1.51-next.5787f10",
32
+ "@dxos/crypto": "0.1.51-next.5787f10",
33
+ "@dxos/debug": "0.1.51-next.5787f10",
34
+ "@dxos/document-model": "0.1.51-next.5787f10",
35
+ "@dxos/echo-db": "0.1.51-next.5787f10",
36
+ "@dxos/echo-pipeline": "0.1.51-next.5787f10",
37
+ "@dxos/errors": "0.1.51-next.5787f10",
38
+ "@dxos/feed-store": "0.1.51-next.5787f10",
39
+ "@dxos/keyring": "0.1.51-next.5787f10",
40
+ "@dxos/keys": "0.1.51-next.5787f10",
41
+ "@dxos/log": "0.1.51-next.5787f10",
42
+ "@dxos/messaging": "0.1.51-next.5787f10",
43
+ "@dxos/model-factory": "0.1.51-next.5787f10",
44
+ "@dxos/network-manager": "0.1.51-next.5787f10",
45
+ "@dxos/node-std": "0.1.51-next.5787f10",
46
+ "@dxos/protocols": "0.1.51-next.5787f10",
47
+ "@dxos/random-access-storage": "0.1.51-next.5787f10",
48
+ "@dxos/rpc": "0.1.51-next.5787f10",
49
+ "@dxos/teleport": "0.1.51-next.5787f10",
50
+ "@dxos/teleport-extension-gossip": "0.1.51-next.5787f10",
51
+ "@dxos/teleport-extension-object-sync": "0.1.51-next.5787f10",
52
+ "@dxos/text-model": "0.1.51-next.5787f10",
53
+ "@dxos/timeframe": "0.1.51-next.5787f10",
54
+ "@dxos/util": "0.1.51-next.5787f10"
54
55
  },
55
56
  "devDependencies": {
56
57
  "@types/readable-stream": "^2.3.9",
57
- "@dxos/signal": "0.1.51-next.03aa1a8"
58
+ "@dxos/signal": "0.1.51-next.5787f10"
58
59
  },
59
60
  "publishConfig": {
60
61
  "access": "public"
@@ -38,6 +38,7 @@ import {
38
38
  StorageInfo,
39
39
  GetSnapshotsResponse,
40
40
  SubscribeToMetadataResponse,
41
+ GetBlobsResponse,
41
42
  } from '@dxos/protocols/proto/dxos/devtools/host';
42
43
 
43
44
  import { ServiceContext } from '../services';
@@ -88,6 +89,12 @@ export class DevtoolsServiceImpl implements DevtoolsHost {
88
89
  };
89
90
  }
90
91
 
92
+ async getBlobs(): Promise<GetBlobsResponse> {
93
+ return {
94
+ blobs: await this.params.context.blobStore.list(),
95
+ };
96
+ }
97
+
91
98
  async getSnapshots(): Promise<GetSnapshotsResponse> {
92
99
  return {
93
100
  snapshots: await this.params.context.snapshotStore.listSnapshots(),
@@ -12,6 +12,7 @@ import { MemorySignalManager, MemorySignalManagerContext } from '@dxos/messaging
12
12
  import { MemoryTransportFactory, NetworkManager } from '@dxos/network-manager';
13
13
  import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
14
14
  import { createStorage, Storage, StorageType } from '@dxos/random-access-storage';
15
+ import { BlobStore } from '@dxos/teleport-extension-object-sync';
15
16
  import { describe, test, afterTest } from '@dxos/test';
16
17
 
17
18
  import { IdentityManager } from './identity-manager';
@@ -25,6 +26,7 @@ describe('identity/identity-manager', () => {
25
26
  storage?: Storage;
26
27
  } = {}) => {
27
28
  const metadataStore = new MetadataStore(storage.createDirectory('metadata'));
29
+ const blobStore = new BlobStore(storage.createDirectory('blobs'));
28
30
 
29
31
  const keyring = new Keyring(storage.createDirectory('keyring'));
30
32
  const feedStore = new FeedStore<FeedMessage>({
@@ -46,8 +48,9 @@ describe('identity/identity-manager', () => {
46
48
  const spaceManager = new SpaceManager({
47
49
  feedStore,
48
50
  networkManager,
51
+ blobStore,
49
52
  modelFactory: createDefaultModelFactory(),
50
- metadataStore: new MetadataStore(storage.createDirectory('metadata')),
53
+ metadataStore,
51
54
  snapshotStore: new SnapshotStore(storage.createDirectory('snapshots')),
52
55
  });
53
56
  const identityManager = new IdentityManager(metadataStore, keyring, feedStore, spaceManager);
@@ -24,12 +24,29 @@ import { MemoryTransportFactory, NetworkManager } from '@dxos/network-manager';
24
24
  import { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
25
25
  import { AdmittedFeed } from '@dxos/protocols/proto/dxos/halo/credentials';
26
26
  import { createStorage, StorageType } from '@dxos/random-access-storage';
27
+ import { BlobStore } from '@dxos/teleport-extension-object-sync';
27
28
  import { afterTest, describe, test } from '@dxos/test';
28
29
 
29
30
  import { Identity } from './identity';
30
31
 
32
+ const createStores = () => {
33
+ const storage = createStorage({ type: StorageType.RAM });
34
+ const metadataStore = new MetadataStore(storage.createDirectory('metadata'));
35
+ const blobStore = new BlobStore(storage.createDirectory('blobs'));
36
+ const snapshotStore = new SnapshotStore(storage.createDirectory('snapshots'));
37
+
38
+ return {
39
+ storage,
40
+ metadataStore,
41
+ blobStore,
42
+ snapshotStore,
43
+ };
44
+ };
45
+
31
46
  describe('identity/identity', () => {
32
47
  test('create', async () => {
48
+ const { storage, metadataStore, blobStore, snapshotStore } = createStores();
49
+
33
50
  const keyring = new Keyring();
34
51
  const identityKey = await keyring.createKey();
35
52
  const deviceKey = await keyring.createKey();
@@ -37,7 +54,7 @@ describe('identity/identity', () => {
37
54
 
38
55
  const feedStore = new FeedStore<FeedMessage>({
39
56
  factory: new FeedFactory<FeedMessage>({
40
- root: createStorage({ type: StorageType.RAM }).createDirectory(),
57
+ root: storage.createDirectory('feeds'),
41
58
  signer: keyring,
42
59
  hypercore: {
43
60
  valueEncoding,
@@ -60,14 +77,14 @@ describe('identity/identity', () => {
60
77
  credentialProvider: MOCK_AUTH_PROVIDER,
61
78
  credentialAuthenticator: MOCK_AUTH_VERIFIER,
62
79
  },
80
+ blobStore,
63
81
  networkManager: new NetworkManager({
64
82
  signalManager: new MemorySignalManager(new MemorySignalManagerContext()),
65
83
  transportFactory: MemoryTransportFactory,
66
84
  }),
67
85
  });
68
86
 
69
- const metadata = new MetadataStore(createStorage({ type: StorageType.RAM }).createDirectory());
70
- await metadata.setIdentityRecord({ haloSpace: { key: spaceKey }, identityKey, deviceKey });
87
+ await metadataStore.setIdentityRecord({ haloSpace: { key: spaceKey }, identityKey, deviceKey });
71
88
  const space: Space = new Space({
72
89
  spaceKey,
73
90
  protocol,
@@ -75,10 +92,8 @@ describe('identity/identity', () => {
75
92
  feedProvider: (feedKey) => feedStore.openFeed(feedKey),
76
93
  memberKey: identityKey,
77
94
  modelFactory: createDefaultModelFactory(),
78
- metadataStore: metadata,
79
- snapshotManager: new SnapshotManager(
80
- new SnapshotStore(createStorage({ type: StorageType.RAM }).createDirectory()),
81
- ),
95
+ metadataStore,
96
+ snapshotManager: new SnapshotManager(snapshotStore, blobStore, protocol.blobSync),
82
97
  snapshotId: undefined,
83
98
  })
84
99
  .setControlFeed(controlFeed)
@@ -142,6 +157,8 @@ describe('identity/identity', () => {
142
157
  // First device
143
158
  //
144
159
  {
160
+ const { storage, metadataStore, blobStore, snapshotStore } = createStores();
161
+
145
162
  const keyring = new Keyring();
146
163
  identityKey = await keyring.createKey();
147
164
  const deviceKey = await keyring.createKey();
@@ -149,7 +166,7 @@ describe('identity/identity', () => {
149
166
 
150
167
  const feedStore = new FeedStore<FeedMessage>({
151
168
  factory: new FeedFactory<FeedMessage>({
152
- root: createStorage({ type: StorageType.RAM }).createDirectory(),
169
+ root: storage.createDirectory(),
153
170
  signer: keyring,
154
171
  hypercore: {
155
172
  valueEncoding,
@@ -174,14 +191,14 @@ describe('identity/identity', () => {
174
191
  credentialProvider: MOCK_AUTH_PROVIDER, // createHaloAuthProvider(createCredentialSignerWithKey(keyring, device_key)),
175
192
  credentialAuthenticator: MOCK_AUTH_VERIFIER, // createHaloAuthVerifier(() => identity.authorizedDeviceKeys),
176
193
  },
194
+ blobStore,
177
195
  networkManager: new NetworkManager({
178
196
  signalManager: new MemorySignalManager(signalContext),
179
197
  transportFactory: MemoryTransportFactory,
180
198
  }),
181
199
  });
182
200
 
183
- const metadata = new MetadataStore(createStorage({ type: StorageType.RAM }).createDirectory());
184
- await metadata.setIdentityRecord({ haloSpace: { key: spaceKey }, identityKey, deviceKey });
201
+ await metadataStore.setIdentityRecord({ haloSpace: { key: spaceKey }, identityKey, deviceKey });
185
202
  const space = new Space({
186
203
  spaceKey,
187
204
  protocol,
@@ -189,10 +206,8 @@ describe('identity/identity', () => {
189
206
  feedProvider: (feedKey) => feedStore.openFeed(feedKey),
190
207
  memberKey: identityKey,
191
208
  modelFactory: createDefaultModelFactory(),
192
- metadataStore: metadata,
193
- snapshotManager: new SnapshotManager(
194
- new SnapshotStore(createStorage({ type: StorageType.RAM }).createDirectory()),
195
- ),
209
+ metadataStore,
210
+ snapshotManager: new SnapshotManager(snapshotStore, blobStore, protocol.blobSync),
196
211
  })
197
212
  .setControlFeed(controlFeed)
198
213
  .setDataFeed(dataFeed);
@@ -233,12 +248,14 @@ describe('identity/identity', () => {
233
248
  // Second device
234
249
  //
235
250
  {
251
+ const { storage, metadataStore, blobStore, snapshotStore } = createStores();
252
+
236
253
  const keyring = new Keyring();
237
254
  const deviceKey = await keyring.createKey();
238
255
 
239
256
  const feedStore = new FeedStore<FeedMessage>({
240
257
  factory: new FeedFactory<FeedMessage>({
241
- root: createStorage({ type: StorageType.RAM }).createDirectory(),
258
+ root: storage.createDirectory(),
242
259
  signer: keyring,
243
260
  hypercore: {
244
261
  valueEncoding,
@@ -261,14 +278,18 @@ describe('identity/identity', () => {
261
278
  credentialProvider: MOCK_AUTH_PROVIDER, // createHaloAuthProvider(createCredentialSignerWithKey(keyring, device_key)),
262
279
  credentialAuthenticator: MOCK_AUTH_VERIFIER, // createHaloAuthVerifier(() => identity.authorizedDeviceKeys),
263
280
  },
281
+ blobStore,
264
282
  networkManager: new NetworkManager({
265
283
  signalManager: new MemorySignalManager(signalContext),
266
284
  transportFactory: MemoryTransportFactory,
267
285
  }),
268
286
  });
269
287
 
270
- const metadata = new MetadataStore(createStorage({ type: StorageType.RAM }).createDirectory());
271
- await metadata.setIdentityRecord({ haloSpace: { key: spaceKey }, identityKey: identity1.identityKey, deviceKey });
288
+ await metadataStore.setIdentityRecord({
289
+ haloSpace: { key: spaceKey },
290
+ identityKey: identity1.identityKey,
291
+ deviceKey,
292
+ });
272
293
  const space = new Space({
273
294
  spaceKey,
274
295
  protocol,
@@ -276,10 +297,8 @@ describe('identity/identity', () => {
276
297
  feedProvider: (feedKey) => feedStore.openFeed(feedKey),
277
298
  memberKey: identityKey,
278
299
  modelFactory: createDefaultModelFactory(),
279
- metadataStore: metadata,
280
- snapshotManager: new SnapshotManager(
281
- new SnapshotStore(createStorage({ type: StorageType.RAM }).createDirectory()),
282
- ),
300
+ metadataStore,
301
+ snapshotManager: new SnapshotManager(snapshotStore, blobStore, protocol.blobSync),
283
302
  })
284
303
  .setControlFeed(controlFeed)
285
304
  .setDataFeed(dataFeed);
@@ -26,6 +26,7 @@ import { Invitation } from '@dxos/protocols/proto/dxos/client/services';
26
26
  import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
27
27
  import { Credential } from '@dxos/protocols/proto/dxos/halo/credentials';
28
28
  import { Storage } from '@dxos/random-access-storage';
29
+ import { BlobStore } from '@dxos/teleport-extension-object-sync';
29
30
 
30
31
  import { CreateIdentityOptions, IdentityManager, JoinIdentityParams } from '../identity';
31
32
  import {
@@ -44,7 +45,11 @@ export class ServiceContext {
44
45
  public readonly initialized = new Trigger();
45
46
  public readonly dataServiceSubscriptions = new DataServiceSubscriptions();
46
47
  public readonly metadataStore: MetadataStore;
48
+ /**
49
+ * @deprecated
50
+ */
47
51
  public readonly snapshotStore: SnapshotStore;
52
+ public readonly blobStore: BlobStore;
48
53
  public readonly feedStore: FeedStore<FeedMessage>;
49
54
  public readonly keyring: Keyring;
50
55
  public readonly spaceManager: SpaceManager;
@@ -73,6 +78,7 @@ export class ServiceContext {
73
78
  // TODO(burdon): Move strings to constants.
74
79
  this.metadataStore = new MetadataStore(storage.createDirectory('metadata'));
75
80
  this.snapshotStore = new SnapshotStore(storage.createDirectory('snapshots'));
81
+ this.blobStore = new BlobStore(storage.createDirectory('blobs'));
76
82
 
77
83
  this.keyring = new Keyring(storage.createDirectory('keyring'));
78
84
  this.feedStore = new FeedStore<FeedMessage>({
@@ -88,6 +94,7 @@ export class ServiceContext {
88
94
  this.spaceManager = new SpaceManager({
89
95
  feedStore: this.feedStore,
90
96
  networkManager: this.networkManager,
97
+ blobStore: this.blobStore,
91
98
  metadataStore: this.metadataStore,
92
99
  modelFactory: this.modelFactory,
93
100
  snapshotStore: this.snapshotStore,
@@ -206,7 +206,6 @@ export class DataSpaceManager {
206
206
  'dxos.mesh.teleport.gossip',
207
207
  gossip.createExtension({ remotePeerId: session.remotePeerId }),
208
208
  );
209
- session.addExtension('dxos.mesh.teleport.objectsync', space.snapshotManager.objectSync.createExtension());
210
209
  session.addExtension('dxos.mesh.teleport.notarization', dataSpace.notarizationPlugin.createExtension());
211
210
  },
212
211
  onAuthFailure: () => {
@@ -13,6 +13,7 @@ import { Keyring } from '@dxos/keyring';
13
13
  import { MemorySignalManager, MemorySignalManagerContext } from '@dxos/messaging';
14
14
  import { MemoryTransportFactory, NetworkManager } from '@dxos/network-manager';
15
15
  import { createStorage, Storage, StorageType } from '@dxos/random-access-storage';
16
+ import { BlobStore } from '@dxos/teleport-extension-object-sync';
16
17
 
17
18
  import { ClientServicesHost, ServiceContext } from '../services';
18
19
  import { SigningContext } from '../spaces';
@@ -97,6 +98,7 @@ export type TestPeerProps = {
97
98
  networkManager?: NetworkManager;
98
99
  spaceManager?: SpaceManager;
99
100
  snapshotStore?: SnapshotStore;
101
+ blobStore?: BlobStore;
100
102
  };
101
103
 
102
104
  export class TestPeer {
@@ -131,6 +133,10 @@ export class TestPeer {
131
133
  return (this._props.metadataStore ??= new MetadataStore(this.storage.createDirectory('metadata')));
132
134
  }
133
135
 
136
+ get blobStore() {
137
+ return (this._props.blobStore ??= new BlobStore(this.storage.createDirectory('blobs')));
138
+ }
139
+
134
140
  get snapshotStore() {
135
141
  return (this._props.snapshotStore ??= new SnapshotStore(this.storage.createDirectory('snapshots')));
136
142
  }
@@ -149,6 +155,7 @@ export class TestPeer {
149
155
  metadataStore: this.metadataStore,
150
156
  modelFactory: createDefaultModelFactory(),
151
157
  snapshotStore: this.snapshotStore,
158
+ blobStore: this.blobStore,
152
159
  }));
153
160
  }
154
161